分享
 
 
 

让你的PHP4和PHP5共存

王朝php·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

好处不多说了,:D 坏处嘛...是CGI方式的(引用官方原文:we consider installing PHP like this suicidal.)

废话少说,直接看方法:

一,本文涉及软件极其版本:

Windows 2000 Professional/XP

Apache 1.3.28 FOR WIN

Microsoft Internet Server Information(IIS6)

PHP 4.3.3(4.3.5), PHP 5.0.0 beta(5.0.0RC1)

MySQL 3.23.57(3.23.58)

二,大致步骤:(二,三任选)

1.分别安装各版本的PHP

2.安装APACHE,设置APACHE 和 PHP

3.安装IIS,并在IIS中设置PHP各版本[注1]

4.安装MYSQL

三,安装前准备:

将所须程序COPY至各文件夹,本文按照以下目录结构进行,你可以根据需要自行修改^^:

C:/httpd/Apache

C:/httpd/MySQL

C:/httpd/PHP4

C:/httpd/PHP5

C:/httpd/php-includes

C:/httpd/phpMyAdmin

C:/httpd/tmp

C:/httpd/www

到C:/WINNT/system32/drivers/etc(XP是C:/WINDOWS/system32/drivers/etc)文件夹下,找到hosts文件(没有?! @_@ 那么.... :D ),在底下增加

127.0.0.1 php4 # Waiter PHP 4

127.0.0.1 php5 # Waiter PHP 5

吼吼...如果你懂~~自己修改其他名字吧 8D 我们继续...

保存文件...

四,安装各版本PHP

假设你已经下载你需要的各版本PHP...(哪下载?? :P 自己找吧...)

这里以4.3.3和5.0.0-beta为例...(4.3.5vs5.0.0RC1我也试了.如果和你环境不一样不要怪我 :( ,大同小异,自己琢磨吧) ;)

㈠安装PHP4.3.3

①解压缩下载文件(:) 地球人都知道)

②将PHP4.3.3中的php.exe, php.ini-recommended, phpêmbed.lib, php4ts.dll, php4ts.lib, dll/*.* 和 extensions/*.* 拷贝到C:/httpd/PHP4

③修改php.ini-recommended:

extension_dir = "C:/httpd/PHP4/extensions/"

cgi.force_redirect = 0

保存为php.ini(就在C:/httpd/PHP4/下)

㈡安装PHP5.0.0BETA

①解压缩...

②将php.exe, php.ini-recommended, phpêmbed.lib, php4ts.dll, php4ts.lib, dll/*.* 和 extensions/*.*拷贝至C:httpdPHP5

如果是PHP5.0.0RC1,那么没有dll和extensions目录,只有ext--就是extensions拉

如果...你是mysql的忠实用户,别忘了把libmysql.dll也拷过去[注2].

③修改php.ini-recommended:

extension_dir = "C:/httpd/PHP5/extensions/"

cgi.force_redirect = 0

如果是PHP4.0.0RC1,那么extension_dir = "C:/httpd/PHP5/ext/"

保存为php.ini(就在C:/httpd/PHP5/下)

五,配置APACHE

打开C:/httpd/Apache/conf/httpd.conf,在底下追加一些设置:

<VirtualHost *:80>ServerAdmin test@php433ServerName php4ServerAlias wwwDocumentRoot &quot;C:/httpd/www&quot;<Directory &quot;C:/httpd/www&quot;>Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>ScriptAlias /php4/ &quot;C:/httpd/php4/&quot;AddType application/x-httpd-php .phpAction application/x-httpd-php &quot;/php4/php.exe&quot;</VirtualHost>

<VirtualHost *:80>ServerAdmin test@php500ServerName php5DocumentRoot &quot;C:/httpd/www&quot;<Directory &quot;C:/httpd/www&quot;>Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>ScriptAlias /php5/ &quot;C:/httpd/php5/&quot;AddType application/x-httpd-php .phpAction application/x-httpd-php &quot;/php5/php-cgi.exe&quot;</VirtualHost>

六,关于PHP5和MYSQL

MYSQL的安装,我就不多说了,自己下了装吧...(跳过这段没意见吧? )

你可以通过修改php.ini,来加载MYSQL... (难过...)

七,测试...

启动APACHE(如果httpd.conf配置有错,会有出错提示...),然后地址栏输入http://php4和http://php5就分别启动PHP4和PHP5咯...爽吗? :D :D :D [注3]

相信对广大PHP程序员,以及想学PHP5又不想放弃PHP4的同志来说,这会是个不错的方法.ENJOY IT!

总结一下:

其实思路很简单,利用CGI方式实现PHP4和PHP5的共存.我找了很多资料,这个算最简单最实用了.不过只适合大家本机玩,千万别在服务器上这么搞...否则~后果自负...别找我

如果你按上面方法有问题,可以尝试其他途径,这里罗列一些国外的成功案例:

http://wiki.coggeshall.org/37.html

http://www.circle.ch/blog/p1387.html

http://www.schlitt.info/applications/blog/..._5_prallel.html

有兴趣的可以继续学习下...

继续关于本方案的一点重要补充:

PHP4和PHP5共存,存在一个php.ini冲突的问题...

大家都知道,一般做法是需要将php.ini复制到系统文件夹下(C:WinNT or C:Windows).如果同时安装多版本,势必会造成冲突...

其实,如果大家仔细阅读PHP安装文档,会有如下一段文字:

Does Where C I cut to could the php.ini? The php.ini files is only searched in two places: 1) in your Apache installation directory (e.g. c:apacheapache) 2) in your %SYSTEMROOT% directory.

而我们正是使用的第一种方式...(是不是官方早料到有这种情况??GOD KNOWS...)

上两张安装后的 PHPINFO 的图:

我在上述环境下测试成功了...如果你遇到困难可以留言或到讨论区一起讨论。

结语:

偶不太会写教程之类的东东...自己看了懂,却不是很容易让别人理解,大家只好忍让了.

虽然过程比较简单,不过费了我不少时间(有两个地方...我找的资料有误,把我害惨了),这个大A作证拉...( :D 大A睡了一觉起来上厕所,我还在...此处少儿不宜,删去500字)

PHP5时代越来越近,赶紧深入了解去吧...

-------------------------------------------------------------------------

[注1]:

本来想写FOR IIS的...可实在不想在自己机器上装个没用的东西(对我而言 :( ),so...标题列了,却放弃写了...对部分看客说声抱歉...

[注2]:

这里说点题外话:在PHP5.0.0RC1中,不知道大家看到ext下有个mysqli.dll,以及php.exe同层目录下有个libmysqli.dll么?奇怪这是干嘛的?其实这是官方针对MYSQL的新版(4.1.0好象是...吧)的一个升级,对于高版本MYSQL玩家可以试试...据说支持MYSQL一些新特性哦

[注3]:

在启动APACHE时,如果看到什么&quot;overlap on port 80&quot;...不要着急,在httpd.conf中,把NameVirtualHost *:80前的注释去了即可...(这个地方难了我好长时间...只怪APACHE设置不熟悉.不过这次算好好把APACHE的设置看了遍,还是有收获)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有