让你的PHP4和PHP5共存

2016-02-19 16:46 9 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的让你的PHP4和PHP5共存懂设计的网友们快点来了解吧!

【 tulaoshi.com - Web开发 】

  好处不多说了,: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至各文件夹,本文按照以下目录结构进行,你可以根据需要自行修改^^:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  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 *:80ServerAdmin test@php433ServerName php4ServerAlias wwwDocumentRoot "C:/httpd/www"Directory "C:/httpd/www"Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyAllow from all/DirectoryScriptAlias /php4/ "C:/httpd/php4/"AddType application/x-httpd-php .phpAction application/x-httpd-php "/php4/php.exe"/VirtualHost

  

VirtualHost *:80ServerAdmin test@php500ServerName php5DocumentRoot "C:/httpd/www"Directory "C:/httpd/www"Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyAllow from all/DirectoryScriptAlias /php5/ "C:/httpd/php5/"AddType application/x-httpd-php .phpAction 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安装文档,会有如下一段文字:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

来源:http://www.tulaoshi.com/n/20160219/1613084.html

延伸阅读
标签: PHP
虽然 PHP5 还没有正式发布(开发版本已经提供下载),但我们现在就可以开始体验一下新的版本 将要带给我们的惊喜。在以下的介绍中,我们将重点讲述 PHP5 中的三大特色功能。这三大特点为: * 新的对象模式 (New Object Mode) * 异常处理 (Exceptions) * 名称空间 (Namespace) 在开始之前,要声明两点: * 文章中的例子为了说...
标签: PHP
一、输出信息控制函数  这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况.  输出控制函数不对使用  header()  或  setcookie()  发送的文件头信息产生影响,只对那些类似于  echo()  和  PHP  代码...
标签: PHP
       · mymoon编译整理·转自CPCW       PHP 4.0 是更有效的,更可靠的动态Web页开发工具,在大多数情况运行比 PHP 3.0 快,其脚本描述更强大并且更复杂, 最显著的特征是速率比的增加。PHP4.0 这些优异的性能是PHP 脚本引擎重新设计产生的结果:引擎由 AndiGutmans 和 Zeev Suras...
标签: PHP
       来源:znsoft翻译       定制php4的session功能      把它EMAIL给我 我来谈谈我的看法            这篇文章描述了怎样定制php4的session处理。我们提供一个怎样写一个全功能的基于mysql数据库或dbm文件的se...
标签: PHP
/* ------------------------------------------------------------------------------- | = 本文为Haohappy读<<Core PHP Programming | = 中Classes and Objects一章的笔记 | = 翻译为主 个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有PHP爱好者共同进步! | = PHP5研究中心:...

经验教程

484

收藏

63
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部