兰色精灵 发表于 2015-2-16 00:28:04

PHP编程:让你的PHP4和PHP5共存...

接触MYSQL,开始设计数据库程序php5   优点不多说了,: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@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...)

上两张装置后的 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://club.phpe.net/index.php?act=ST&f=16&t=4661会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。

因胸联盟 发表于 2015-2-16 03:48:29

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

活着的死人 发表于 2015-3-2 08:27:52

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

乐观 发表于 2015-3-11 02:39:12

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

海妖 发表于 2015-3-11 06:26:51

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

仓酷云 发表于 2015-3-17 22:10:34

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

老尸 发表于 2015-3-25 03:47:58

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

小妖女 发表于 2015-3-29 09:13:35

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

愤怒的大鸟 发表于 2015-4-6 12:30:47

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

若相依 发表于 2015-4-10 08:17:34

爱上php,他也会爱上你。

admin 发表于 2015-4-12 14:08:01

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

再现理想 发表于 2015-5-9 13:07:12

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

冷月葬花魂 发表于 2015-5-12 14:59:53

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

蒙在股里 发表于 2015-6-7 21:46:15

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

分手快乐 发表于 2015-6-12 03:45:25

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

只想知道 发表于 2015-6-28 06:16:24

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

兰色精灵 发表于 2015-7-13 22:19:49

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

飘飘悠悠 发表于 2015-7-16 05:25:39

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

不帅 发表于 2015-7-20 04:14:14

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

莫相离 发表于 2015-7-27 18:57:21

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
页: [1] 2
查看完整版本: PHP编程:让你的PHP4和PHP5共存...