免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3171 | 回复: 0
打印 上一主题 下一主题

Ubuntu11.04下配置LAMP开发环境,并使apache支持同时运行php5.2和php5.3版本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-30 13:19 |只看该作者 |倒序浏览
步骤:
1.安装apache和php
sudo apt-get install apache2
sudo apt-get install php5 php5-dev libapache2-mod-php5
sudo /etc/init.d/apache2 reload

这时访问 http://localhost 应该会看到 It works! 说明apache已经安装成功了。
再测试php,在/var/www下创建测试文件 testphp.php :
echo "<?php phpinfo(); ?>" | sudo tee /var/www/testphp.php

然后访问 http://localhost/testphp.php ,应该会看到php5.3的信息,说明php也安装成功了。
2.安装mysql,并让apache和php支持mysql
sudo apt-get install mysql-server
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo /etc/init.d/apache2 restart
3.安装php5.2
下载php5.2.17,下载地址:http://www.php.net/get/php-5.2.17.tar.gz/from/a/mirror
进入下载文件的保存目录解压:
tar -zxf php-5.2.17.tar.gz

然后进入php-5.2.17目录:
cd php-5.2.17

下载的文件需要手工编译,所以要先安装必要的编译工具:
sudo apt-get install libxml2-dev libmysqlclient-dev libcurl4-gnutls-dev libpng12-dev libjpeg62-dev

然后配置并安装php5.2到 /opt/php5.2 目录:
创建软链接:
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg* /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libpng* /usr/lib/

这步在64位系统下需要,32位的可能就步需要了,如果需要的话,格式可能应该是这样的:
ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
ln -s /usr/lib/i386-linux-gnu/libpng.so /usr/lib/libpng.so
然后配置
./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysqli --with-mysql --with-curl --with-gd --with-jpeg-dir --enable-cli --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect

然后编译
make

然后安装
sudo make install
这样php5.2就成功安装到 /opt/php5.2 目录下了,可以用下面的命令测试一下
/opt/php5.2/bin/php /var/www/testphp.php

可以看到php的版本上5.2.17
4.安装Apache for FastCGI,的目的是让apache可以通过FastCGI来运行php5.2
sudo apt-get install libapache2-mod-fastcgi
启用必要的模块
sudo a2enmod cgi
sudo a2enmod fastcgi
sudo a2enmod actions
然后重启apache
sudo /etc/init.d/apache2 restart
创建一个bash脚本,使apache可以方便的调用FastCGI。方法:
在 /usr/lib/cgi-bin/ 下创建一个名为 php52-cgi 的文件,并将下面的内容写入该文件:
#!/bin/sh
PHPRC="/opt/php5.2/"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/php5.2/bin/php-cgi

然后为该文件赋予执行权限:
sudo chmod +x /usr/lib/cgi-bin/php52-cgi
注意:/opt/php5.2目录下现在还没有php.ini文件,需要手工创建一份,可以从下载解压出来的php-5.2.17目录下复制 php.ini-recommend 到 /opt/php5.2 目录下并重命名为 php.ini
cp php-5.2.17/php.ini-recommended /opt/php5.2/php.ini
下面可以测试一下我们的php52-cgi是否能正常工作了:
/usr/lib/cgi-bin/php52-cgi < /var/www/testphp.php

如果一切正常的话,将会看到html源代码格式的phpinfo页面。
为了方便在创建虚拟主机的时候告诉apache是否应该执行5.2版本的php,我们可以在 /etc/apache2/ 目录下创建一个名为 php52.conf 的配置文件,该文件的内容如下:
#include for virtual hosts that need to run php-5.2
<FilesMatch "\.php">
   SetHandler application/x-httpd-php5
</FilesMatch>
ScriptAlias /php52-cgi /usr/lib/cgi-bin/php52-cgi
Action application/x-httpd-php5 /php52-cgi
AddHandler application/x-httpd-php5 .php
这样我们就完成了必要的配置,该是看看效果的时候了。
修改 /etc/hosts 文件,添加两个本地地址
127.0.0.1        php52.localhost php53.localhost
然后在 /etc/apache2/sites-available 目录下创建两个虚拟主机 php52 和 php53,其内容分别是:

php52
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName php52.localhost
DocumentRoot /var/www
#Include php5.2
Include php52.conf

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg. LogLevel debug
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
php53
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName php53.localhost
DocumentRoot /var/www

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg. LogLevel debug
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
然后启用这两个站点,并重启apache使配置生效:
cd /etc/apache2/sites-enabled
sudo ln -s ../sites-available/php52 php52
sudo ln -s ../sites-available/php52 php52
sudo /etc/init.d/apache2 restart
这时在地址栏里分别输入 http://php52.localhost/testphp.phphttp://php53.localhost/testphp.php
就可以看到两个站点分别上运行在php5.2下和php5.3下了。

环境配置好了,开始享受开发的乐趣吧 : )

参考文档:
http://blog.breidert.net/php-5-2 ... applications-und...
http://bbs.vpser.net/archiver/tid-3055.html
http://www.linuxidc.com/Linux/2010-07/27230.htm
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP