以PHP for Apache as CGI binary方式为例,我喜欢用这种方式。
以安装目录c:php为例;
[1]将原先的php安装目录删除,解压php-5.0.0-Win32.zip到c:php
重命名php.ini-dist为php.ini(跟php4一样)
[2]修改Apache的httpd.conf文件。将原有跟php4邦定的语句删除。
用以下这几行代替:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
[3]修改php.ini中,去掉extension=php_mysql.dll前面“;”,默认是有的!
如果是PHP for Apache as module道理也一样。
修改Apache的httpd.conf
LoadModule php5_module c:/php/php5apache.dll
AddModule mod_php5.c
AddType application/x-httpd-php .php
不过这种方式得拷贝所有的dll文件到c:winntsystem32,php.ini跟php.exe到winnt
以上两种方式都试过。php4写的程序都能运行!
[以下为冰流星补充]
对于apache2的设置:
1、不要AddModule mod_php5.c
2、LoadModule php5_module c:/php/php5apache2.dll,是php5apache2.dll
3、需要将php目录下的dll文件(以下文件不必复制:php5activescript.dll、php5apache.dll、 php5apache_hooks.dll、php5apache2.dll、php5isapi.dll、php5nsapi.dll)复制到上述所说的目录(98、me是system)下
Windows版的PHP5和PHP4相比,安装更多的考虑到以后的可升级性,安装PHP5时建议安装在没有空格的目录名下,以免出现错误,以下是Windows版PHP5的安装手册:
1。php4ts.dll/php5ts.dll:对php4ts.dll/php5ts.dll的路径说明也比较清晰而且更加利于将来的升级:第一种法案就是老的copy到系统目录,第二种方案就是添加PHP4/5到%PATH%中去(我这个懒人,在PHP4时就独辟蹊径的喜欢这么搞,因为这样做是符合windows查找文件时搜索路径的顺序(.->%PATH%)。
2。PHP.ini:出于安全和效率的考虑,建议使用php.ini-recommended作为php.ini的蓝本,而不要使用php.ini -dist。同时PHP.ini的查找路径也不再限于PHP4时代的%SystemRoot%下了,PHP5按照以下路径查找PHP.ini:
* PHPIniDir (Apache 2 module only)
* 注册表键值:HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath
* 环境变量:%PHPRC%
* PHP5的目录 (for CLI), 或者web服务器目录(for
SAPI modules)
* Windows目录(C:windows or C:winnt)
这五个方案中,配合Apache2时最好使用PHPIniDir,其次是使用%PHPRC%环境变量,另外,NTFS上记得给服务器开PHP.ini的读权限。
3.配置web服务器:
对于IIS,以IIS的ISAPI模块运行PHP:
1.在系统变量中添加%PHPRC%变量,取值为你的php.ini所在的目录(
比如在PHP5安装目录下。
2.为了使用HTTP Authentication,在ISAPI Filters上添加一个属性
为php5isapi.dll的PHP筛选器,如果不使用HTTP Authentication,可以不管这一步。
3.在主目录选项卡,点击配置,应用程序映射新建扩展名为.php并且可执行文件为php5isapi.dll。
4.好了,重新启动IIS,写个测试。
对于Apache,我一直都喜欢 以Apache的模块运行PHP
1.编辑httpd.conf
# LoadFile "e:/Apache/php4ts.dll"
# LoadModule php4_module modules/php4apache.dll
#加载php5ts.dll,这无论是apache还是IIS都必须以来的链接库
LoadFile "E:/PHP5/php5ts.dll"
#加载php5的apache模块
LoadModule php5_module "E:/PHP5/php5apache.dll"
#设置PHPRC变量,以提供给PH5查找配置文件PHP.ini,就无需在跑到%SystemRoot%下去找php.ini了
SetEnv PHPRC "E:/PHP5"
#注意,如果定义了ClearModuleList指令,则添加如下语句,如果没有则无须添加,我当初没有
#添加该行 ,结果将测试用的phpinfo.php的源码给下载下来了
AddModule mod_php5.c
#为了兼容添加php3和php4的类型
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
2.重新启动apache(NET STOP apache && net start apache),写个测试。
4.额外的配置
为了更好的配置php5,还需要根据个人需要重新编辑你的php.ini:
比如需要使用smart和pear ,则需要更改的是:
include_path = ".;E:/PHP5/Smarty;E:/PHP5/PEAR"
另外php5再也不像php4那样内置了对mysql和ODBC的支持了,而是只内置对ODBC
进行支持,所以如果需要使用Mysql数据库的话,还要设置extension_dir(php_mysql.dll)的目录以及用
extension加载php_mysql.dll
#修改extension_dir为:
extension_dir = "E:/PHP5/ext"
#删除extension=php_mysql.dll前的;,以加载php_mysql.dll
extension=php_mysql.dll
差不多就这些了。