安装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的程序的时候就会减少错误的出现。