喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: [原]PHP4、5 共存  
本帖已经被作者加入个人空间
 
coolhpy
注册会员
Rank: 2



UID 70642
精华 0
积分 141
帖子 128
金钱 141 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-3-29
来自 浙江
状态 离线
[原]PHP4、5 共存

一、引言
    好处就不用偶说了吧?呵呵,真要偶说,偶也说不出个所以然,就当体验下 PHP5 的新特性吧。(虽然5已经出来很久了,但偶还没怎么用过,失败啊~~
    曾在网上看到一篇类似的文章,其介绍的安装方法相对比较容易懂,也挺方便的,就是以建立两个虚拟机,然后将将 PHP4 和 PHP5 以 CGI 方式分别挂在这两个虚拟机上(不知道有没有记错了,应该是这么个理)。但这样做效率好象不是很高?不过如果只是本机测试的话,问题也不大。应该没人会在服务器上装两个版本的 PHP 吧?呵呵```其实本文所介绍的方法的原理也挺简单的,就是安装两个服务器,反正是为了体验 PHP5 嘛,只要机子跑得动,管他那么多干啥?!呵呵~~。
    不知道大家有没有注意到 Apache 的 Service Monitor 是支持多个服务的。那么如果在同一台机子上运行两个 Apache 服务是不是可以让 PHP4 和 PHP5 分别以模块方式运行呢(当然,端口要不同)?另外一个问题,这两个 Apache 服务是否可以访问同一个数据库,从而避免数据库的移植呢?
    带着这两个问题,下面开始了我们的探索之旅...

二、下载
apache_2.0.59-win32-x86-no_ssl.msi        http://httpd.apache.org
php-4.4.3-Win32.zip        http://www.php.net/downloads.php
php-5.1.4-Win32.zip        http://www.php.net/downloads.php
mysql-essential-4.1.21-win32.msi        http://dev.mysql.com/downloads/

三、安装
    为方便说明起见,下面的安装程序将全部安装到:D:/Server 目录下
    因为 PHP4 将被安装在 D:/Server/Apache2/php 目录下,PHP5 将被安装在 D:/Server/Apache2_php5/php 目录下,为了下面的安装方便、顺利进行,建议大家先将设置一下环境变量 PATH,将其值附加
D:\Server\php;D:\Server\php\dlls;D:\Server\Apache2_php5\php;
然后,重启动机器。
    如果不这么做的话,就要将大堆的 DLL 文件拷贝到系统目录下,那样会使得系统目录变得非常乱,所以建议大家还是设置一下的好。

3.1 安装MySQL
    网上有很多这种资料,大家 baidu 或者 google 一下,有很多的。
3.2 安装第一个服务
    3.2.1 Apache的安装
        这步没什么好讲的,注意把安装目录只需要设置为:D:/Server 就可以了,安装程序会自动安装到 D:/Server/Apache2 目录下的。
    3.2.2 PHP4的安装
        将php-4.4.3-Win32.zip解压到目录:D:/Server/Apache2/php下
        将目录下文件php.ini-dist重命名为php.ini

    安装完成后的目录结构,见附件1。

    3.2.3 配置apache以模块方式运行php
        在apache的配置文件httpd.conf(D:/Server/Apache2/conf 目录下)中加入以下内容
LoadModule php4_module "D:/Server/Apache2/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/Server/ Apache2/php"

    第一个服务安装、配置完成,重启apache。

    3.2.4 测试
    编写测试文件:test.php,内容如下:

<?php
phpinfo
();
?>
将文件保存到 D:/Server/Apache2/htdocs  目录下。打开浏览器,在地址栏里输入:http://localhost/test.php 。如果看到内容,说明 Apache 和 php 没问题,然后找一下有没有 mysql 的一段内容,如果有,说明 mysql 模块安装没问题。

3.3 安装第二个服务
    至关重要啊,看仔细了。呵呵```
    3.3.1 Apache 的安装
    复制目录D:/Server/Apache2 为 D:/Server/Apache2_php5

    3.3.2 PHP5 的安装
    将目录D:/Server/Apache2/php下所有文件、文件夹删除
    将php-5.1.4-Win32.zip解压到目录:D:/Server/Apache2_php5/php下
    将目录下文件php.ini-dist重命名为php.ini
    将文件php5ts.dll拷贝到 %WINDOWS% 目录下

    安装完成后的目录结构,见附件2。

    3.3.3 配置 Apache
    将配置文件httpd.conf(D:/Server/Apache2_php5/conf 目录下)中所有的
D:/Server/Apache2
查找/替换为:
D:/Server/Apache2_php5

    将配置文件中原来的以下内容
LoadModule php4_module "D:/Server/Apache2/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/Server/ Apache2/php"
改为:
LoadModule php5_module "D:/Server/Apache2_php5/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/Server/Apache2_php5/php"

    找到:Listen ,将端口改为8080(或者别的,只要没被占用),保存文件。

    3.3.4 配置 php
    在配置文件 php.ini (D:/Server/Apache2_php5/php 目录下)中找到 extension_dir ,将双引号中的值改为:
D:/Server/Apache2_php5/php/ext

    找到:
;extension=php_mysql.dll
将该行前面的 ; 号去掉,保存文件。

    3.3.5 配置服务
    新建一个文本文件,内容为:
D:/Server/Apache2_php5/bin/Apache.exe -n Apache2_PHP5 -k install
保存为 install.bat 文件,至于存在什么地方就随便了,只要你找的到。
双击执行,窗口会自动关闭,且系统的“服务”中多了一项“Apache2_PHP5”
如果没有出来,多半是配置文件的问题,可以尝试在 DOS 下运行 install.bat 看看错误信息,再进行修改
    如果要删除该服务,则另外建一个uninstall.bat文件,内容为:
D:/Server/Apache2_php5/bin/Apache.exe -n Apache2_PHP5 -k uninstall
双击执行就可以了。
当然,如果不喜欢 Apache2_PHP5 这个服务名称,只要改“ -n ”后面、“ -k ”前面的字符就可以了。

    第二个服务安装、配置完成,重启 apache。

    打开 Apache Service Monitor,这时应该已经有两个服务了,见附件3。

    3.3.6 测试
    编写测试文件:test.php,内容如下:

<?php
phpinfo
();
?>
将文件保存到D:/Server/Apache2_php5/htdocs 目录下。打开浏览器,在地址栏里输入:http://localhost:8080/test.php 。如果看到内容,说明Apache和php没问题,然后找一下有没有mysql的一段内容,如果有,说明mysql模块安装没问题。

四、后记
    感谢您花这么多时间看完这篇文章。由于本人表达能力有限,有些地方可能表述的不是很明白,还请大家见谅。十分欢迎对本文表述不正确、不恰当的地方提出您的意见和建议,共同进步。如果您没有配置成功,请回复告诉我。我想说的是这种方法,确实是可行的,我本机上已经成功运行了。运行环境:Windows XP SP2 + Apache2.0.59 + PHP4.4.3 + PHP5.1.4 + MySQL4.1.21。
    欢迎大家转载,但请注明出处。

[ 本帖最后由 coolhpy 于 2006-8-12 12:25 AM 编辑 ]


 附件: 您所在的用户组无法下载或查看附件
2006-8-12 12:20 AM#1
查看资料  访问主页  Blog  发短消息  顶部
 
fcicq
新手上路
Rank: 1
初级会员



UID 24467
精华 0
积分 21
帖子 587
金钱 20 喜悦币
威望 0
人脉 1
阅读权限 10
注册 2003-11-8
来自 fcicq.net
状态 离线
[推荐阅读] 今天过生日
呵呵.如果用fastcgi的话切换岂不更快...
另外,用一个apache就可以了.根据目录或者virtualhost来安装php也是很好的.





2006-8-12 09:59 AM#2
查看资料  访问主页  Blog  发短消息  顶部
 
路过
注册会员
Rank: 2
初级会员



UID 66167
精华 0
积分 114
帖子 115
金钱 114 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-8-24
来自 湖南
状态 离线
[推荐阅读] 村里有无“广州蓝聆科技”的朋友
装两个apache..
2006-8-12 12:43 PM#3
查看资料  访问主页  发短消息  ICQ 状态  Yahoo!  顶部
 
qh663
版主
Rank: 7Rank: 7Rank: 7
中级会员


UID 30020
精华 0
积分 546
帖子 580
金钱 546 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-7-13
来自 河源
状态 离线
[推荐阅读] 有没有北京朝阳门外的公司招PHPer的?
嗯,关键就在于apache的配置。



五百多篇PHP学习资料
喜悦村BLOG
php团队接兼职项目QQ:80031807
PHP群:768844
2006-8-13 11:56 AM#4
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
coolhpy
注册会员
Rank: 2



UID 70642
精华 0
积分 141
帖子 128
金钱 141 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-3-29
来自 浙江
状态 离线
[推荐阅读] 请求帮助


QUOTE:
原帖由 fcicq 于 2006-8-12 09:59 AM 发表
呵呵.如果用fastcgi的话切换岂不更快...
另外,用一个apache就可以了.根据目录或者virtualhost来安装php也是很好的.
fastcgi我还没接触过,能不能介绍一下?
别的朋友介绍一下也行,谢谢````````
2006-8-14 02:19 PM#5
查看资料  访问主页  Blog  发短消息  顶部
 
依龙
注册会员
Rank: 2



UID 72462
精华 0
积分 55
帖子 58
金钱 55 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-4-27
来自 广东
状态 离线
[推荐阅读] sqlite中文乱码,怎么解决?
PHP5不是向下兼容PHP4吗?为什么要装两个?



建站资讯:http://17admin.com/
2006-8-16 08:51 AM#6
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
luzhou (luzhou)
金牌会员
Rank: 6Rank: 6
资深会员



UID 22070
精华 0
积分 1048
帖子 1037
金钱 1048 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2003-7-28
状态 离线
[推荐阅读] 为什么正则过滤不掉下面html内容的指定属性呢?
有创意,但是好像没啥意义?



自在的PHPer~
2006-8-17 07:29 PM#7
查看资料  发短消息  顶部
 
fnet
高级会员
Rank: 4
**村大队书记



UID 65788
精华 0
积分 718
帖子 785
金钱 718 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2005-8-12
状态 离线
[推荐阅读] 突然想起来:咋灌水区没个QQ群呢?
我是装了一个apache 2.2 指向 php5

一个apache2.0 指向 php4

共用一个mysql数据库

php4好久没用啦




JAVA
2006-8-18 06:04 PM#8
查看资料  访问主页  发短消息  QQ  顶部
 
nety253 (nety253)
新手上路
Rank: 1
初级会员



UID 65224
精华 0
积分 10
帖子 8
金钱 10 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-7-21
状态 离线
[推荐阅读] 有没有函数可以完全去除html代码的?
我一般修改httpd.conf  LoadModule php5_module (php4_module)的值,然后重启apache
2006-8-20 09:22 PM#9
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.029129 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP