Windows中PHP4 PHP5共存之道(加入个人遇...
题外话: 即使不是装两个php,对安装一个php也具有很高的参考价值,比网上介绍的安装方法要好。它不需要复制文件到其他地方,升级非常方便。
在学习php过程中可能要同时用到php4和php5,网上也有不少关于二者共存的安装方法,大多是一个安装在iis下,一个安装在apache下。下面介绍一下本人的安装方法,自认为比较优化,而且非常方便升级。
为了方便介绍,先介绍一下本人的安装环境:windows xp pro sp2,apache 2.0.55和php4.4.1、php5.1.1,都安装在d:\(即d区上有以下文件夹d:\apache2、d:\php4、d:\php5),网卡配置两个ip地址192.168.0.2和192.168.0.3(至于如何配置多个ip地址,不是本文介绍重点)。下面以apache的模块式安装方法为例进行介绍:(配置多个ip地址:很简单,记得在哪里修改ip地址么?下边点"高级"->"添加" 添加一个新的ip地址,不要与局域网其他ip冲突,添加子网掩码确认即可)
1、安装配置apache 2.0.55服务器。在同意许可协议后会有填写服务器信息的页面,本地调试,前面两个输入 localhost 。编辑httpd.conf 文件,分别定位到servername localhost:80和listen 80,都在前面加#关闭其设置。
2、准备php。分别解压下载的php压缩包(例如php-5.1.1-win32.zip),放置到d:\php4和d:\php5。
3、分别配置php.ini。因为有两个版本的php,所以要分别配置。分别复制一份php.ini-recommended后重命名为php.in,就放在原路径。
题外话:过时方法要这样处理,复制php.ini文件至x:\winnt(x:\windows)或apache的安装文件夹,并且copy x: \php\php5ts.dll、php4ts.dll等dll文件到winnt(windows)、或winnt\system32或apache的安装文件夹下。本人强烈推荐你不要这么做,以后升级比较麻烦,下面将给出理由。(你可以试着将c:\windows的php.ini文件剪贴到php4或者php5的目录下,这样升级的确方便)
4、修改windows path变量。加入
代码:
d:\php4;d:\php5
到path环境变量中,即告诉系统到哪里去查找php5ts.dll等动态链接库文件,所以我们也没有必要将这些dll文件复制到%windir%,所以升级php也方便很多,不用去一一删除原来那些文件。至于怎样修改path路径(path路径很简单,查找我的电脑环境变量,在系统变量里的path值中加入代码;d:\php4;d:\php5)
5、分别修改php.ini。主要修改一下extension_dir和extension_dir。分别在php.ini中找到上面的变量,加入适当的路径。我是这样修改的,php4的php.ini中
代码:
extension_dir = "d:\php4\extensions\"
和
代码:
include_path = "d:\php4\pear;d:\php4\includes"
php5的php.ini中
代码:
extension_dir = d:\php5\ext
和
代码:
include_path = "d:\php5\pear;d:\php5\"
其实一般来说还需要修改php.ini中的其他不少参数值,例如文件上传临时路径、session临时路径、邮件设置、扩展模块配置(php5中为了支持mysql要去掉以下代码中的;号)
代码:
;extension=php_mysql.dll
6、修改httpd.conf。在最后加入以下代码:
代码:
<ifdefine !php5>
listen 192.168.0.2:80
loadmodule php4_module "d:/php4/sapi/php4apache2.dll"
phpinidir "d:/php4/php.ini"
</ifdefine>
<ifdefine php5>
listen 192.168.0.3:80
loadmodule php5_module "d:/php5/php5apache2.dll"
phpinidir "d:/php5/php.ini"
</ifdefine>
(以上ifdefine的功能还有很多,还可以嵌套使用,查询apache2手册)
addtype application/x-httpd-php .php .phtml .php3 .php4
addtype application/x-httpd-php-source .phps
适当解释一下:
代码:
phpinidir = "d:\php4"
即告诉apache在"d:\php4"路径中查找php.ini文件,这样我们就不必将php.ini复制到其他目录中去,很好地处理了两个php.ini的共存问题。ifdefine是apache的指令,可以在apache手册中查找。
http.conf的其他的指令,比如 directoryindex 和 adddefaultcharset 请自己设置。
7、创建php5的apache服务。在命令行下执行以下命令:
代码:
apache -k install -d php5 -n apache2-php5
(这个不要只会加服务,还要知道如何删服务,否则服务的apache的项目会越来越多
打开注册表编辑器 开始-运行,输入“regedit”,确定。依次打开
hkey_local_machine\\system\\currentcontrolset\\services注册表项。
在里面查找你所卸载的服务,删除他就可以了)
即在windows中创建了php5 运行参数名称为apache2-php5的服务项,可以到 管理工具->服务中启动,也可以使用 apache 2 自带的 monitor apache servers 启动。可以只运行任意一个php,也可以同时运行。
8、调试php。用以下地址调试php4
代码:
http://192.168.0.2
用以下地址调试php5
代码:
http://192.168.0.3
(具体安装时ip地址可自行设置)
特别提示:因为修改了path路径,所以一定要重启系统方可生效。而且配置了php.ini或http.conf后一定要重启apache方可生效。