Help us understand the problem. What is going on with this article?

XAMPP7.0.9ポータブル(zip)版でWeb開発環境の構築メモ

More than 3 years have passed since last update.

PHP7に対応したローカル開発環境を作りたい

同一のPC上にXAMPPのv5.6.24(PHP5.6.24)のローカル開発環境とは別に、PHP7に対応したXAMPP環境を作りたい

-今後、別のバージョンのXAMPPをインストールすることを見越してzip版にする
-本投稿の設定方法では、バージョンの異なるXAMPPを同時に起動しないことを前提とする

構築環境

OS:Windows10 64bit
CPU:Corei3
メモリ:8GB
構築するWEB開発環境:XAMPP7.0.9ポータブル版32bit(XAMPPは64it版がない)

XAMPP7.0.9ダウンロード

XAMPPのサイトへいく
ポータブル版(zip版)をダウンロードする時は上部メニューの「ダウンロード」をクリック

image

ダウンロードボタンをクリックすると、インストール版がダウンロードされてしまうので、「さらにダウンロード」をクリック

image

「XAMPP Windows」をクリック

image

「7.0.9」をクリック

image

zip版であることを確認して「xampp-portable-win32-7.0.9-1-VC14.zip」をクリック
(7zでもOKです。このあたりはお好みで)

image

XAMPPの設置

解凍して任意のフォルダに入れる

今回は、Cドライブ直下に「xampp_7_0_9-1」を作成(他のバージョンと混同しないように)し、その中に解凍したファイル群を入れる。

image

image

フォルダの位置関係情報修正

setup_xampp.bat を実行(C:\xampp以外のフォルダにxamppを入れた場合は実行必要)
フォルダの位置関係に関する情報がインストールディレクトリのものに修正される

image

コントロールパネル

コントロールパネルの起動
C:\xampp_7_0_9-1\xampp-control.exe をダブルクリック
言語の選択ダイアログが表示されるのでいずれか選んで保存(大抵はデフォルトの英語だと思いますが。。)

image

ApacheとMySQLを起動

コントロールパネルが起動したら、ApacheとMySQLの「Start」ボタンをクリック

image

ファイアウォールの警告がポップアップされた場合は「プライベートネットワーク」にチェックしてアクセスを許可

image

起動成功!

image

ポート80の競合エラーが発生した際の対処

※下記のような、ポート80を利用中のエラーが出たら、競合したアプリのポートを変更。
(skypeをインストールしている場合は、skypeのデフォルトポートも80なので、そちらとかぶっている可能性が高い。)

※XAMPPのApacheのポートを80以外に変更してポート競合を回避する方法もあるが、今回は説明から省略

image

XAMPPのダッシュボードを開く

ApacheとMySQLの起動が完了したら、下記のURLにアクセスをして、ダッシュボードが表示されるか確認する
http://localhost/dashboard/

起動したxamppのバージョンを確認

image

PHPinfo、phpMyAdminを確認

ダッシュボードの上部メニューの「PHPinfo」「phpMyAdmin」をクリックし、それぞれ表示されるか確認する

mysqlの初期設定変更

rootのパスワード変更

MySQLのrootのパスワードを設定する
デフォルトではrootのパスワードは設定されていない
rootのパスワードを設定しなくてもMySQLは利用できるが、設定を推奨

コマンドプロンプトを起動

1.C:\xampp_7_0_9-1\mysql\bin に移動
cd C:\xampp_7_0_9-1\mysql\bin

2.MySQLにログイン
mysql -h localhost -u root

3.rootのパスワードを変更(パスワードは任意の文字列とする。ここでは例として「sample」)
set password for 'root'@'localhost' = password('sample');

4.パスワードの変更を反映
flush privileges;

5.一旦ログアウト
exit;

6.再ログイン 設定したパスワードでログインできることを確認する
mysql -u root -p

MySQLの文字コードをutf8に変更

my.iniの設定変更

C:\xampp_7_0_9-1\mysql\bin\my.ini を開く

1.[mysqld]末尾の文字コードの設定部分を変更

「## UTF 8 Settings」で検索し、以下5行のコメントアウト(#)を外す

image

image

2.init-connectを変更

「init-connect=\'SET NAMES utf8\'」→「init-connect=SET NAMES utf8」

image

image

3.保存をしたらMySQLをコントロールパネルから再起動する

phpMyAdminにrootのパスワードを設定

rootのパスワードを変更してphpMyAdminにアクセスすると下記のエラー
image

C:\xampp_7_0_9-1\phpMyAdmin\config.inc.php を開く

21行目付近の
$cfg['Servers'][$i]['password'] = '';
の値が空欄のため、設定したMySQLのrootパスワードを記載する

image

image

PHPの初期設定 C:\xampp_7_0_9-1\php\php.ini の変更

1.時計合わせ

「[Date]」を検索。2個ヒットする。1896行目付近の方が変更対象。

[Date]
date.timezone=Europe/Berlin

image


[Date]
date.timezone=Asia/Tokyo

image

2.SSL有効化

「;extension=php_openssl.dll」
を検索。コメントアウト(;)を外す

;extension=php_openssl.dll
image

extension=php_openssl.dll
image

3.XDebug 追加

下記の設定は元々のソースにはないので、末尾に追加

[XDebug]
zend_extension="C:\xampp_7_0_9-1\php\ext\php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="c:\xampp_7_0_9-1\tmp"

image

4.imap有効化(任意)

;extension=php_imap.dll
↓ アンコメント
extension=php_imap.dll

コントールパネルを起動した時にApacheとMySQLも起動するようにする

「Config」ボタンをクリック
image

「Apache」と「MySQL」にチェックを入れて保存する
image

PHPのソースを置くところ

C:\xampp_7_0_9-1\htdocs がアプリケーションルートになるので、この中にPHPファイルを置く

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした