Solaris 10整合apache与php过程及出错处理

Solaris 10整合apachephp过程及出错处理
作者:田逸([email]sery@163.com[/email])发表于[url]http://os.51cto.com/art/200705/47439.htm[/url]
 
前几天,我在solaris 10上整合apachephp,其间遇到一些问题,很有代表性,在这里把相关的过程及处理措施记录下来,希望对大家有所帮助。
 
solaris 9不同的是,solaris 10已经默认安装GNU开发工具(GCC,make等)。但默认的环境变量没有把相关的路径设置进去看路径是否被设置进去,只要执行不带选项和参数的命令gcc就知道了find搜索文件makegcc,然后把路径写进文件/etc/profile,我的系统的/etc/profile路径设置如下所示:
export  PATH=$PATH:/usr/ccs/bin:/usr/sfw/bin
改完后执行source /etc/profile就可以了。鉴于solaris 10自带的tar不太方便,用GNU tar代替它,其过程如下:
gunzip –d tar-1.16.tar.gz
tar xvf tar-1.16.tar
cd tar-1.16
./configure –prefix=/usr/local/gnutar  //指定目录,不然会出现某些意外
make
make install    //把包安装在目录/usr/local/gnutar
mv /usr/sbin/tar  /usr/sbin/tar.orig  //把系统自带的vi移动到一边,以便万一发生意外能够恢复//回来
ln –s /usr/local/gnutar/bin/tar  /usr/sbin/tar 
 
接下来安装apache,其过程如下:
cd /root
tar zxvf httpd-2.2.0.tar.gz
cd httpd-2.2.0
./configure –prefix=/usr/local/apache2 –enable-so
make
make install
察看是否生成目录/usr/local/apache2便知apache是否被正确安装。
 
安装php,其过程如下:
cd /root
tar zxvf php-5.2.0.tar.gz
cd php-5.2.0
./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs
………
这个过程不能正常运行下去,出现下面的抱错信息:
Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path... /usr/bin/xml2-config
configure: error: libxml2 version 2.6.11 or greater required.
这表明系统自带的libxml2版本低,需要2.6.11以上的版本。有2种办法解决这个问题:升级libxml2和重新安装一个libxml2。在运行业务的solaris 环境,升级是一个十分冒险的办法,我们这里有很多程序员胡乱升级软件包包系统弄崩溃的先例,所以强烈建议象我一样保守重新安装一个新的libxml2—只要我们在源码安装过程中指定了安装目录,安装了新的libxml2后不会对系统产生任何危害,当然占据那一点磁盘空间是微不足道的了。下面是安装一个新的 libxml的步骤:
cd /root
tar zxvf libxml2-2.6.26.tar.gz
./configure –prefix=/usr/local/libxml
make
make install
这时我们再回来安装php
cd /root/php-5.2.0
./configure –prefix=/usr/local/php5 –with-apxs2=/usr/local/apache2/bin/apxs –with-libxml-dir=/usr/local/libxml   //配置很顺利的完成了
make
make install
 
最后一个步骤是配置和测试,实际上只需要修改apache的配置文件httpd.conf。由于在php的配置过程中使用了选项—with-apxs,因此会在htppd.conf文件中插入LoadModule php5_module modules/libphp5.so一行,先检查一下看受否被自动写入;然后再手动插入行“AddType application/x-httpd-php .php .phtml”,注意:.php.phtml前面各有一个空格,没有这个空格将不能正常解析php页面,这是一个很容易忽视的问题,请初学者留意。写一个最简单的测试文件index.php,包含“<?php phpinfo(); >”,把它保存在apache根文档所在的目录(这里是/usr/local/apache/htdocs/index.php)。执行/usr/local/apache/bin/apachectl start启动apache守护进程,从浏览器输入[url]http://ip/index.php[/url]测试,如果出现类似下面的页面,表明一切正常。
Solaris 10整合apache与php过程及出错处理
 
GNU源码方式来安装软件,可使各种平台的操作方法基本一致,这对负责运营各种linux/unix的系统管理员来说,GNU源码是一种很好的选择。
















本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/27070 ,如需转载请自行联系原作者
上一篇:Oracle 物理和逻辑备库健康监测的一个依据


下一篇:Linux: 环境变量PATH设置错误的补救