XAMPPの旧バージョンを削除してXAMPP7.1.1に入れかえた。
以前のバージョンをインストールしたときの設定を忘れてしまったので、改めてメモしておく。
XAMPPはportable版をインストールした。ドライブのルート(c:\xampp など)にファイルを置いたあと、setup_xampp.bat を実行すればOK。
外部からの接続を禁止する
XAMPPへのアクセスをローカルのみに限定したい、外部のPCからのアクセスを禁止したい場合は以下の設定を。 とくに職場や学校、街なかのWiFiスポットなど、公共のネットワークでXAMPPを起動する場合は必ず設定すべし。
C:\xampp\apache\conf\httpd.conf を開き、Listen 80
とある部分を Listen 127.0.0.1:80
に書き換える。
# Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 #Listen 80 Listen 127.0.0.1:80
PHPの設定
c:\xampp\php\php.ini を編集する。
マルチバイト文字の設定
[mbstring] セクションにあるmbstring.language = Japanese
がコメントアウトされている場合は、先頭の「;」の削除して有効に。
[mbstring] ; language for internal character representation. ; This affects mb_send_mail() and mbstring.detect_order. ; http://php.net/mbstring.language mbstring.language = Japanese
タイムゾーンの設定
php.iniの中には [Date] セクションが2箇所あるが、ファイルの最後の方にあるdate.timezone=Europe/Berlin
となっている部分をdate.timezone=Asia/Tokyo
にする。
[Date] ; date.timezone=Europe/Berlin date.timezone=Asia/Tokyo
その他の設定
以下は問題が発生したときだけ必要になるかもしれない設定。問題ないなら設定する必要はない。
session_start がエラーになる
例えば以下のようなエラーが出た場合。
Warning: session_start() [function.session-start]: open(\xampp\tmp\sess_6sk49a8guo7n3dssak425s8fjjmk36, O_RDWR) failed: No such file or directory (2) in C:\example\index.php on line 3
[Session] セクションにあるsession.save_path = "\xampp\tmp"
となっている部分を、フルパス(例えば c:\xampp\tmp
)に書き換える。
[Session] ...中略... ; where MODE is the octal representation of the mode. Note that this ; does not overwrite the process's umask. ; http://php.net/session.save-path ; session.save_path = "\xampp\tmp" session.save_path = "c:\xampp\tmp"
SublimteTextでPHPをビルドしようとしたらエラー
browscap.ini が見つからんぞと怒られた場合。
PHP Warning: Cannot open '\xampp\php\extras\browscap.ini' for reading in Unknown on line 0 testzend_mm_heap corrupted
[browscap] セクションにあるbrowscap = "\xampp\php\extras\browscap.ini"
を、フルパスに書き換える。
[browscap] ; http://php.net/browscap ; browscap = "\xampp\php\extras\browscap.ini" browscap = "c:\xampp\php\extras\browscap.ini"
phpMyAdmin
MySQLのrootにパスワードを設定した場合は、C:\xampp\phpMyAdmin\config.inc.php を変更する必要がある。
$cfg['Servers'][$i]['password']
に設定したパスワードを書き込んでおく。
/* Authentication type and info */ $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'password'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = true; $cfg['Lang'] = '';
MySQLへの接続がなんだか遅い場合
WordPressなんかのCMSを動かしたり、PHPとかのスクリプトからMySQLに接続すると、ローカルのくせに妙に遅いな~というとき。
OSがWindowsVista以降で、MySQLへの接続先のホスト名に "127.0.0.1" ではなく "localhost"と指定していると遅くなるそうだ。
手っ取り早い解決方法は、接続先の指定にIPを使えばいい。 Wordpressならwp-config.phpを以下のように変更する。
// ↓こうなっていた場合は define('DB_HOST', 'localhost'); // ↓このように変更 define('DB_HOST', '127.0.0.1');
他にhostsファイルを編集する方法もある。 この現象が発生する理屈や、hostsファイルを編集する手順は以下のサイトを参照で。
コメント