第三部分:编译安装并配置PHP
# wget
# tar zxvf php-5.2.10.tar.gz
# cd php-5.2.10
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache22/bin/apxs --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng2/ --with-gd --with-freetype-dir=/usr/local/freetype2/ --with-zlib-dir=/usr/local/zlib2/ --with-mysql=/usr/local/mysql --with-curl=/usr/local/curl --with-gettext=/usr/local/gettext --enable-sockets
我第一次安装时,编译PHP出错了,出错信息提示GD有问题:“configure: error: Unable to find gd.h anywhere under”上网查了下说:“系统中已经有GD了,把--with-gd后面留空,就可以顺利configure了,上面的命令,我已经去掉了—with-gd的值,所以应该不会出这个error了。仔细想想好像我装系统时确实把图形那个组件给点上了!嘿嘿~~~
Configure成功后提示”Thank you for using PHP.”.
# make
# make test
Make test时出错了,不过感觉这个错误影响不是很大,暂时也没找到原因,可能是版本问题,因为上次安装时,我用的不同版本,所以遇到的错误信息也不一样,有点忘了,上次试用了三四个版本,头都搞大了。所以这次也没管它,直接继续安装了~还好后面都成功了,php好用~~~所以暂时就这样吧,如果有高手知道原因,望告之~呵呵~~即使后面不成功的话,这里也可以重编译再装:)换版本或想别的办法解决!!!
ob_start(): Ensure unerasable buffer cannot be flushed by ob_flush(). [tests/output/ob_start_basic_unerasable_005.phpt]
SPL: ArrayObject::exchangeArray() basic usage with object as underlying data store. [ext/spl/tests/arrayObject_exchangeArray_basic3.phpt]
继续:
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini //拷贝php配置文件
修改apache配置文件httpd.conf
# vi /usr/local/apache22/conf/httpd.conf
在#AddType application/x-tar.tgz下加一行:
AddType application/x-httpd-php .php
在#LoadModule foo_module modules/mod_foo.so下加一行: 如果原来有就去掉#号
LoadModule php5_module modules/libphp5.so
找到DirectoryIndex index.html在后面添加 index.php
保存httpd.conf文件.
重启动apache
# /usr/local/apache22/bin/apachectl stop
# /usr/local/apache22/bin/apachectl start
写一个测试页,放到apache的htdocs目录下,打开浏览器访问应该可以看到php的版本等信息。php测试页代码如下:
ZendOptimizer这个插件我暂时没有安装,上次安装时,装了好几个版本,发现它和php的版本依赖毛病太多,太挑剔,所以懒得装它了!反正安装也简单,想用时再装~就现在在局域网的网络监控,也用不着啥加速~~呵呵~~~