PHPのプログラムを作成するとき、同じ間違いを犯す人は多いようだ。
ここでは、私の失敗談を披露しよう。
PHPのプログラムはエディタさえあれば作成できる。
最近のWebアプリケーションはUTF-8を標準にしていることが多いので、UTF-8で保存できるエディタを使う。
私の場合は、TeraPadを愛用している。しかし、十分に使いこなしていないことがわかった。
TeraPadにはUTF-8とUTF-8Nの2種類の文字コードがある。
最初は、余計なNの付いていない文字コードで保存していたが、PHPのセッションがまったく働かなかった。
少し細かく説明すると、PHPでは以下のような行を先頭に書いてセッション管理する。
ところが、先頭に書いてあるにもかかわらず、エラーとなる。
その理由はUTF-8がBOM(Byte Order Mark)という目に見えない制御文字をファイルの先頭に負荷していたからだ。一方、UTF-8NはBOMを出力しない。
そこで、ファイルの文字コードをUTF-8Nに変更したら、あっさり動作した。これで、結構時間をつぶしてしまった。
この失敗談が他の人の役に立つとよいのだが。
2007年10月8日月曜日
2007年7月26日木曜日
PHP5をApache2.2/Windowsへインストールする
PHP5をApache2.2/Windowsへインストールしたときのメモ
PHP5をhttp://jp.php.net/からWindows Binariesのzip packageダウンロードする
PHP5をc:\phpへ展開
PHP5のphp5apache2.dllは正しく動作しないため、php5apache2.dll-php5.1.x.zipが必要
http://www.apachelounge.com/download/からダウンロードし、展開する
php5apache2.dllをc:\phpへコピーする
httpd.exe.manifestをapache2/binへコピーする
Visual C++ 2005 Redistributable Packageをインストールする
http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=enからダウンロードし、インストール
c:\phpをPATHに設定する
あるいはphp5ts.dllをc:\windowsにコピーする(推奨しない)
php.ini
php.ini-recommendedをphp.iniにコピー
memory_limit = 16M ; Moodle用
include_path = ".;c:\php\includes;c:\php\pear"
extension_dir = "./ext"
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_pgsql.dll ; Moodle用
extension=php_gd2.dll ; Moodle用
pearのインストール
c:\php\go-pear.batを実行する
pear.iniをc:\phpに作成するように指定する
pearライブラリのインストール
C:\php> pear upgrade-all
php.conf
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "c:/php"
httpd.confの設定
Include conf/extra/php.conf
動作確認
phpinfo.phpを用意
phpinfo.phpをアクセス
PHP5をhttp://jp.php.net/からWindows Binariesのzip packageダウンロードする
PHP5をc:\phpへ展開
PHP5のphp5apache2.dllは正しく動作しないため、php5apache2.dll-php5.1.x.zipが必要
http://www.apachelounge.com/download/からダウンロードし、展開する
php5apache2.dllをc:\phpへコピーする
httpd.exe.manifestをapache2/binへコピーする
Visual C++ 2005 Redistributable Packageをインストールする
http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=enからダウンロードし、インストール
c:\phpをPATHに設定する
あるいはphp5ts.dllをc:\windowsにコピーする(推奨しない)
php.ini
php.ini-recommendedをphp.iniにコピー
memory_limit = 16M ; Moodle用
include_path = ".;c:\php\includes;c:\php\pear"
extension_dir = "./ext"
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_pgsql.dll ; Moodle用
extension=php_gd2.dll ; Moodle用
pearのインストール
c:\php\go-pear.batを実行する
pear.iniをc:\phpに作成するように指定する
pearライブラリのインストール
C:\php> pear upgrade-all
php.conf
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "c:/php"
httpd.confの設定
Include conf/extra/php.conf
動作確認
phpinfo.phpを用意
phpinfo.phpをアクセス
登録:
投稿 (Atom)