基于fedora16的nagios环境搭建--个人日记(7)--php反思

 安装nagvis之前要安装php,可以参考这个文章。

 我在安装nagvis之前已经安装好php了,nagios也可以使用了。但是用

  yum install php-gd php-mysql php-mbstring php-session php-xml (注意没有php5-mbstring,要把5去掉)。

  之后安装nagvis后登录显示

  Fatal error: Call to undefined function mb_detect_encoding() in /components/com_jmailalerts/models/emogrifier.php on line 

 这是因为没有mbstring,即便后来安装了mbstring但是因为在开始没有 --enable-mbstring 所以仍然不行。

  重新安装php。

 

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql 

--with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-libxml-dir=/usr/lib 

--enable-sockets --with-gd --with-gettext --enable-calendar --enable-ftp 

--enable-mbstring --enable-json --enable-pdo  

这样就可以了。

但是在我重新安装了php后,出现了很多问题。

1:make时出现如下问题:

  make: *** [sapi/cli/php] Error 1

 

   参考网上都说有两种解决办法make ZEND_EXTRA_LIBS='-liconv'

   或者 修改configure之后的makefile文件  找到EXTRA_LIBS段,在其后加上-liconv  如下

 

EXTRA_LIBS = -lcrypt -lcrypt -lrt -lmysqlclient_r -lgd -lfreetype -lpng -lz -ljpeg -lz -    lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lxml2

-lz -lm -lmysqlclient_r -lz -lcrypt -lnsl -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -    lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -l

crypt -liconv  在此make 就行了。

但是根据我做的,直接 make ZEND_EXTRA_LIBS='-liconv'比较好。因为添加 -liconv 没成功过。如果不行,就把安装好的php删了,再把php编译文件删了,重新tar之后在安装,make的时候直接 make ZEND_EXTRA_LIBS='-liconv'。总之就是要重安装就把旧的全删了。

2:php弄好了之后apache又不行了。即便直接输入localhost 也不行,出现一下内容

  the connection was reset

    the connection to the server was reset while the page was loading

  在apache 日志文件中是child pid exit signal Segmentation fault 其实就是apache服务器一直不发送数据。

  我的解决办法是:重新安装apache

  然后再重新安装php。但是重新安装之后还是不行,网上说这是因为对apache 和php重新编译安装之后,就回出现问题。这是我换了一个版本的php,重新安装就好了。总之这个过程很费事,我花了好几天才弄好。

 

      其实就是php在安装的时候一定要把该装的都装全了,就是congfigure之后的参数能找到的全弄了,php依赖的程序都先安装了,这样的话,在以后安装其他依赖于php的程序的时候就会减少错误的出现

  

 

你可能感兴趣的:(PHP,nagios)