在其它地方看到的一篇文章,老了一点,这两天也正想找个时间来用IIS+APACHE使用不同端口来做两个php共存....到时再发出来'罢..看原文吧 ------------------------------------------------------------- 好处不多说了,:D 坏处嘛...是CGI方式的(引用官方原文:we consider installing php like this suicidal.--esayr注:E文不好?呵,最后一个是自杀的意思) 废话少说,直接看方法: 一,本文涉及软件极其版本: 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@php433 ServerName php4 ServerAlias www DocumentRoot "C:/httpd/www" <Directory "C:/httpd/www"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ScriptAlias /php4/ "C:/httpd/php4/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php4/php.exe" </VirtualHost> <VirtualHost *:80> ServerAdmin test@php500 ServerName php5 DocumentRoot "C:/httpd/www" <Directory "C:/httpd/www"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ScriptAlias /php5/ "C:/httpd/php5/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php5/php-cgi.exe" </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...) 我在上述环境下测试成功了...如果你遇到困难可以留言或到讨论区一起讨论。 结语: 偶不太会写教程之类的东东...自己看了懂,却不是很容易让别人理解,大家只好忍让了. 虽然过程比较简单,不过费了我不少时间(有两个地方...我找的资料有误,把我害惨了),这个大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时,如果看到什么"overlap on port 80"...不要着急,在httpd.conf中,把NameVirtualHost *:80前的注释去了即可...(这个地方难了我好长时间...只怪APACHE设置不熟悉.不过这次算好好把APACHE的设置看了遍,还是有收获) |