#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版)をダウンロードする時は上部メニューの「ダウンロード」をクリック
ダウンロードボタンをクリックすると、インストール版がダウンロードされてしまうので、「さらにダウンロード」をクリック
「XAMPP Windows」をクリック
「7.0.9」をクリック
zip版であることを確認して「xampp-portable-win32-7.0.9-1-VC14.zip」をクリック
(7zでもOKです。このあたりはお好みで)
#XAMPPの設置
##解凍して任意のフォルダに入れる
今回は、Cドライブ直下に「xampp_7_0_9-1」を作成(他のバージョンと混同しないように)し、その中に解凍したファイル群を入れる。
↓
##フォルダの位置関係情報修正
setup_xampp.bat を実行(C:\xampp以外のフォルダにxamppを入れた場合は実行必要)
フォルダの位置関係に関する情報がインストールディレクトリのものに修正される
##コントロールパネル
コントロールパネルの起動
C:\xampp_7_0_9-1\xampp-control.exe をダブルクリック
言語の選択ダイアログが表示されるのでいずれか選んで保存(大抵はデフォルトの英語だと思いますが。。)
##ApacheとMySQLを起動
コントロールパネルが起動したら、ApacheとMySQLの「Start」ボタンをクリック
ファイアウォールの警告がポップアップされた場合は「プライベートネットワーク」にチェックしてアクセスを許可
起動成功!
##ポート80の競合エラーが発生した際の対処
※下記のような、ポート80を利用中のエラーが出たら、競合したアプリのポートを変更。
(skypeをインストールしている場合は、skypeのデフォルトポートも80なので、そちらとかぶっている可能性が高い。)
※XAMPPのApacheのポートを80以外に変更してポート競合を回避する方法もあるが、今回は説明から省略
#XAMPPのダッシュボードを開く
ApacheとMySQLの起動が完了したら、下記のURLにアクセスをして、ダッシュボードが表示されるか確認する
http://localhost/dashboard/
##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行のコメントアウト(#)を外す
↓
####2.init-connectを変更
「init-connect='SET NAMES utf8'」→「init-connect=SET NAMES utf8」
↓
####3.保存をしたらMySQLをコントロールパネルから再起動する
###phpMyAdminにrootのパスワードを設定
rootのパスワードを変更してphpMyAdminにアクセスすると下記のエラー
C:\xampp_7_0_9-1\phpMyAdmin\config.inc.php を開く
21行目付近の
$cfg['Servers'][$i]['password'] = '';
の値が空欄のため、設定したMySQLのrootパスワードを記載する
↓
#PHPの初期設定 C:\xampp_7_0_9-1\php\php.ini の変更
##1.時計合わせ
「[Date]」を検索。2個ヒットする。1896行目付近の方が変更対象。
[Date]
date.timezone=Europe/Berlin
[Date]
date.timezone=Asia/Tokyo
##2.SSL有効化
「;extension=php_openssl.dll」
を検索。コメントアウト(;)を外す
;extension=php_openssl.dll
↓
extension=php_openssl.dll
##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"
##4.imap有効化(任意)
;extension=php_imap.dll
↓ アンコメント
extension=php_imap.dll
#コントールパネルを起動した時にApacheとMySQLも起動するようにする
#PHPのソースを置くところ
C:\xampp_7_0_9-1\htdocs がアプリケーションルートになるので、この中にPHPファイルを置く