Redhat EL 5.3 上安装 Cacti(3)- 编译 安装 并配置 PHP

Linux 下安装 Cacti 实现网络监控

由于博客字符 8 万限制,所以分开 5 部分上传!

请看 Redhat EL 5.3 上安装 Cacti(1-5)

第三部分: 编译 安装 并配置 PHP

# 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/apach e 22/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/apache2 2 /bin/apachectl st op

# /usr/local/apache2 2 /bin/apachectl start

写一个 测试页 , 放到 apache htdocs , 打开浏览器 访问应该 可以看到 php 的版本等信息 php 测试页代码如下: <?php phpinfo();?>

ZendOptimizer 这个插件我暂时没有安装,上次安装时,装了好几个版本,发现它和 php 的版本依赖毛病太多,太挑剔,所以懒得装它了!反正安装也简单,想用时再装 ~ 就现在在局域网的网络监控,也用不着啥加速 ~~ 呵呵 ~~~