Windowsへphp4をインストールする
Windows環境へphp4をインストールします。
ここでは、php4.3.11(2005/04/28)を対象に話を進めていきます。
MySQL4.1.xからは、パスワードの保存形式が変更されたためMySQLの設定を変更しないと
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client
と表示されます。
PHPからPHP 4.3.11 zip packageを任意のフォルダにダウンロードします。
次にphpをインストールするフォルダを作成します。例えば、c:\phpのようにCドライブにフォルダを作成します。
ダウンロードしたファイルをc:\phpに解凍します。
phpを解凍したフォルダにある php4ts.dll をWindowsのシステムフォルダにコピーします。(C:\windows\system32 や C:\WINNT\system32 や C:\windows\systemなど)
phpを解凍したファイルから php.ini-dist ファイルをWindowsフォルダにコピーします。Windowsフォルダにコピーした php.ini-dist ファイルを php.ini に名前を変更します。
このphp.iniにphpの動作設定をします。
| オプション | 値 | 意味 |
|---|---|---|
| magic_quotes_gpc | Off | Get/POST/Cookieなどがらデータを取得したときダブルクォーテーション「"」等にエスケープ文字を付加するかを決定する |
| default_charset | Shift_JIS | デフォルトの文字コードを指定します |
| include_path | .;c:/php/includes; c:/php/pear | pearやSmartyを使う場合変更します。 |
| extension_dir | c:/php/extensions | 動的にロード可能な拡張モジュールを置くディレクトリを指定します。 |
| doc_root | d:/public_html | サーバーにおけるPHPの"ルートディレクトリ"です。 この値は空で無い場合のみ使用されます。PHPがセーフモードで設定されている場合には、このディレクトリの外側にあるファイルは使用されません。 |
| extension=php_mbstring.dll | コメントをはずします | マルチバイト文字列を有効にします。 |
| mbstring.language | Japanese | デフォルトを日本語に設定します。 |
| mbstring.internal_encoding | SJIS | 内部文字エンコーディングをSJISに設定します。 |
| mbstring.http_input | auto | HTTP入力文字エンコーディング変換をautoに設定します。 |
| mbstring.http_output | SJIS | HTTP出力文字エンコーディング変換をSJISに設定します。 |
| mbstring.encoding_translation | On | 内部文字エンコーディングへの変換を有効にします。 |
| mbstring.detect_order | auto | 文字コード検出をautoに設定します。 |
| mbstring.substitute_character | none | 無効な文字を出力しない。 |
文字コードの設定に関しては、[php.iniの文字コードの設定]を参考にしてください。
Apache2でphp4を使うための設定
Apache2からphpを使用するには、2つの方法があります。
phpをCGIとして動作させる方法とApache2のモジュールとして動作させる方法です。
ここでは、モジュールとして動作させます。
ApacheをインストールしたフォルダのconfフォルダにApacheの設定ファイル[httpd.conf]があります。このhttpd.confファイルを編集してphpがモジュールとして動作できるように設定します。
以下の行をhttpd.confに追加します。
LoadModule php4_module c:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndexディレクティブにindex.phpを追加します。
DirectoryIndex index.html index.php
ここまでで、Apacheの設定は終了です。Apacheを再起動します。
DocumentRootに設定したフォルダに、以下の1行を追加したファイルを作成します。
<? phpinfo(); ?>
適当にinfo.phpと名前を付けて保存します。
ブラウザのアドレスにhttp://localhost/info.phpと入力し以下の画面が表示されれば設定は正常に終了しています。
CGIとして動作させるには、httpd.confを以下のように設定します。
#DirectoryIndexディレクティブにindex.phpを追加
DirectoryIndex index.html index.php
#以下の行を追加
ScriptAlias /php/ "c:/php/"
Action application/x-httpd-php php-cgi.exe
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
php4からMySQL4.1.xを使うための設定
4.1.xからは、パスワードの保存形式が変更されたためphp4.3.11ではそのまま接続できません。
まず、MySQL4.1.xのサービスを停止します。MySQLをインストールしたフォルダのmy.iniに下記行を追加します。
[mysqld]
old-passwords
修正後、MySQLのサービスを開始します。
この後、設定したユーザーは短いパスワードで管理されます。
MySQL Configuration Wizardを使用している場合、rootのパスワードが設定されているはずです。これを短いパスワードに変更するには、コマンドプロンプトからmysqlクライアントを起動します。
mysql>SET PASSWORD FOR root@localhost = PASSWORD('パスワード');
上記コマンドを実行することでパスワードを変更することができます。
ちなみに、下記SQL文でパスワードの長さが確認できます。
mysql>use mysql;
mysql>SELECT host,user,password FROM user;