PHP 5.3.0が出たその3
PHP 5.3.0が出たその2の続きです。
結局Windowsでは、インストーラパッケージでのインストールはあきらめて、Dドライブに「PHP」というフォルダを作成し、その中にzipで落としてきたバイナリファイルを解凍しました。
使用したのはスレッドセーフのVC6コンパイラでコンパイルしたやつ。(http://windows.php.net/downloads/releases/php-5.3.0-Win32-VC6-x86.zip)
これを上記ディレクトリ(D:\PHP)に解凍したままコピーしました。
以前とちょっと変わってるところが、PHP\binフォルダがなく、PHPの直下に「php.exe」があること、以前はbinフォルダにあったんじゃなかったっけ。
そして環境変数(Winkey + pause→「システムの詳細設定」→「環境変数」)のPATH変数に「D:\PHP」と記載してコマンドプロンプトで確認。
Microsoft Windows [Version 6.0.6001] Copyright (c) 2006 Microsoft Corporation. All rights reserved. C:\Users\yokoshima>php -v PHP 5.3.0 (cli) (built: Jun 29 2009 21:25:23) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies C:\Users\yokoshima>
おぉっ。やっと入った。
今回、php.iniのサンプルファイルは
php.ini-developmentとphp.ini-productionの二つがありますが、一応どんな違いがあるかdiffを取ってみました。
514c514
error_reporting = E_ALL & ~E_DEPRECATED
531c531
display_errors = Off
542c542
display_startup_errors = Off
586c586
track_errors = Off
604c604
html_errors = Off
1245a1246,1253
> ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
> ; http://php.net/mysqli.allow_local_infile
> ;mysqli.allow_local_infile = On
>
> ; Allow or prevent persistent links.
> ; http://php.net/mysqli.allow-persistent
> mysqli.allow_persistent = On
>
1294c1302
mysqlnd.collect_memory_statistics = Off
1563c1571
session.bug_compat_42 = Off
1572c1580
session.bug_compat_warn = Off細かいぱっと見だと、名前どおり開発用と公開用みたいな感じですね。一応開発用に使うので、「php.ini-development」をコピーして「php.ini」にrenameします。
とりあえず動作確認が目的なので、マルチバイト文字列等の設定は後回しにします。
次にApacheとの連携を設定します。
Apacheのバージョンは先日入れたばかりの以下バージョン
しかし「dir」って打つのめんどくさいな。「ls」って打ちやすいよね。
D:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd -v Server version: Apache/2.2.11 (Win32) Server built: Dec 10 2008 00:10:06 D:\Program Files\Apache Software Foundation\Apache2.2\bin>
そして突然ですが、Apache2.2以降(かな?)では、httpd.confに全部記載するのではなく、別の設定ファイルに記載(単位はいろいろあるとは思いますが)、httpd.confファイルの肥大化をできる限り防止する、というのが王道らしいです。(ちょっと参考サイトは見つかりませんでした・・・)
なので、「extra/httpd-php.conf」というファイルを新たに作成し、以下のように記載
LoadModule php5_module "D:/PHP/php5apache2_2.dll" AddType application/x-httpd-php .php PHPIniDir "D:/PHP"
その後、このファイルを起動時に読み込むように、httpd.confに以下を追記します。
# PHP Include conf/extra/httpd-php.conf
[PHPIniDir]は、環境変数PHPRCに記載することも出来るらしいけど、まあ環境変数より一箇所見ればすむので、confファイルに記載してあります。
この後、お約束である以下phpファイルをDocumentRootの直下に「test.php」として作成し、アクセスしてみます。
<? phpinfo(); ?>
http://localhost/test.php
そしたら真っ白い画面が。HTMLソースを見ると、とそのまま出力されている・・・。
しばらく色々やって、下記の様に変更しました。
<?php phpinfo(); ?>
この問題を調べているときに、以前インストールしたインストーラ版のPHPのディレクトリが存在していることに気づきました。もちろんアンインストールはしてあるはずなのですが、エクスプローラからは見えていなかった。
コマンドプロンプトからdirしたらあったので一応Windowsフォルダ等も調べたのですがもう残骸はなさそうでした。
今のところインストーラ版でPHPをVistaに入れるのはやめておいた方が無難ですね・・・。
