0

sles10.1下重新编译php+apache

Posted in Linux at 六月 24th, 2011 / No Comments »

sles10.1装好apache+php+mysql后,缺少pdo_mysql。好不容易编译好pdo_mysql后,发现又少了json。查手册发现json在php5.2.0之后才支持,sles10.1的php5.1.2是彻底没戏了,只能重新编译新版的php。

下载php5.3.6:

wget http://cn.php.net/get/php-5.3.6.tar.gz/from/this/mirror

编译后能成功安装,用php -v也能识别出是5.3.6的版本,可弄了半天phpinfo页面还是5.1.2。没办法,只能重新编译apache了。

在yast中卸载所有PHP及apache相关的软件。下载apache2.2.17,编译安装:

wget http://archive.apache.org/dist/httpd/httpd-2.2.17.tar.gz

tar –zxvf httpd-2.2.17.tar.gz

cd httpd-2.2.17.tar.gz

./configure –prefix=/usr/local/apache2 –enable-modules=so –enable-rewrite

make

make install

重新编译php(重新编译前一定要make clearn,不然会出现意想不到的错误):

tar –zxvf php-5.3.6.tar.gz

cd php-5.3.6

./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/usr/local/lib –with-mysql=/usr
make

make install

#复制php5配置文件

cp php.ini-development /usr/local/lib/php.ini

修改http.conf 兼容php5

vim /usr/local/apache2/conf/httpd.conf 
   
文件尾加一行 
AddType application/x-httpd-php .php 
   
#LoadModule php5_module modules/libphp5.so 
把上面的#号去掉 
   
DirectoryIndex index.html

在后面加 index.php

   
# don’t use Group #-1 on these systems! 
把下面的用户名和组改为 
User wwwrun 
Group www  
   
#ServerName  
把#去掉,后面的IP改成你的IP
 
DocumentRoot “/usr/local/apache2/htdocs” 
把/usr/local/apache2/htdocs改为你存放网页文件的路径 

把apache设为服务:

cp /usr/local/apache2/bin/apachectl /etc/rc.d/httpd

chkconfig –add httpd

chkconfig httpd on

启动apache前先要把旧的apache进程kill掉

service httpd start

service httpd status好像不能用

Published in Linux
Tags: , ,

No Responses to “sles10.1下重新编译php+apache”

Leave a Reply

请输入算式结果(看不清请点击图片)
(必须)