二,zabbix与php的一些问题
zabbix 檢查先決條件
一、php-bcmath 不支持
php 安裝 bcmath 擴(kuò)展(編譯安裝)
PHP的linux版本需要手動安裝BCMath擴(kuò)展,在PHP的源碼包中默認(rèn)包含BCMath的安裝文件,
只需手動安裝一次即可。
?????? 編譯安裝
???1.進(jìn)入PHP源碼包目錄下的ext/bcmath目錄。
???2.執(zhí)行phpize命令,phpize命令在PHP安裝目錄的bin目錄下,如/usr/local/php-5.6.36/bin/phpize。
(phpize是用來擴(kuò)展php擴(kuò)展模塊的,通過phpize可以建立php的外掛模塊
比如你想在原來編譯好的php中加入memcached或者ImageMagick等擴(kuò)展模塊,
可以使用phpize。)。使用如下:
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/ #進(jìn)入剛解壓的模塊中使用。
/usr/local/webserver/php/bin/phpize
./configure –with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
???3.執(zhí)行./configure --with-php-config=/usr/local/php/bin/php-config。
???4.執(zhí)行make && make install。
???5.將安裝完成后得到bcmath.so文件拷貝到php.ini中extension_dir配置的目錄中。
開啟 extension_dir,后面自己配置擴(kuò)展模塊的目錄。
6.在Dynamic Extensions配置塊下添加一行extension=bcmath.so。
???7.重啟php服務(wù)即可。
8.使用命令 php -m | grep bcmath ,查看這個模塊是否加載成功。
其實(shí)這個模塊在編譯php的時候可以直接打開 后面加上參數(shù) --enable-bcmath 即可
?
二、php的參數(shù)在php.ini中搜索。
PHP選項(xiàng)“max_input_time” 按照要求設(shè)置
PHP選項(xiàng)“date.timezone” 設(shè)置為 PRC
PHP選項(xiàng)“always_populate_raw_post_data” 這個報(bào)錯直接去掉注釋即可
三、解決php的gd庫不支持jpeg和freetype的問題。
1,下載jpeg和freetype的源碼包,解壓安裝,預(yù)編譯目錄在 /usr/local/freetype 和 /usr/local/jpeg
編譯例如 ./configure --prefix=/usr/local/php/jpeg --enable-shared --enable-static
然后 make && make install
2,重新編譯php,注意先不帶gd,不要--with-gd。編譯如下:
./configure
--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \
--enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache --enable-sockets \
--enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-shmop --enable-zip \
--enable-ftp --enable-soap --enable-xml --enable-mbstring --enable-bcmath \
--disable-rpath --disable-debug --disable-fileinfo \
--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \
--with-pcre-regex --with-iconv --with-zlib --with-mcrypt --with-openssl \
--with-mhash --with-xmlrpc --with-curl --with-imap-ssl \
--with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype
然后make && make install
此時PHPinfo()中沒有g(shù)d庫。
3,接下來在php源碼解壓后目錄下的ext/gd 中執(zhí)行phpize 后編譯安裝gd。
./configure --with-php-config=/usr/local/php/bin/php-config \
--with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype
make && make install
啟動php-fpm 發(fā)現(xiàn)gd庫出現(xiàn)了,并且支持jpeg和freetype。
至此解決這個問題,zabbix服務(wù)端可以檢測出來。
四、PHP LADP warnning 解決。php gettext 也是類似解決。
http://www.cnblogs.com/bigdevilking/p/9440098.html
# 出現(xiàn)告警是因?yàn)閘dap模塊不存在,須要編譯生成此模塊并重新加載
進(jìn)入PHP源碼包目錄下的ext/ldap 目錄 。
[root@DaMoWang php-7.2.7]# cd /usr/src/php-7.2.7/ext/ldap/ # 進(jìn)入模塊所在的源碼位置
[root@DaMoWang ldap]# ls
config.m4 config.w32 CREDITS ldap.c ldap.mak LDAP_Win32_HOWTO.txt php_ldap.h tests
[root@DaMoWang ldap]# /usr/local/php/bin/phpize # 編譯PHP擴(kuò)展的工具,主要是根據(jù)系統(tǒng)信息生成對應(yīng)的configure文件
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
[root@DaMoWang ldap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap
&& make && make install #配置 編譯 安裝
執(zhí)行過程中可能會有如下報(bào)錯
configure: error: Cannot find ldap.h
解決辦法 : yum -y install openldap openldap-devel
configure: error: Cannot find ldap libraries in /usr/lib
解決辦法 : cp -frp /usr/lib64/libldap* /usr/lib/
[root@DaMoWang ldap]# vim /etc/php.ini # 編輯php.ini
# 找到 ;extension=ldap 的行 把注銷去掉 , 5版本的php添加extension=ldap.so
五,zabbix最后一步安裝報(bào)錯
Details Cannot create the configuration file.
Unable to create the configuration file.
(細(xì)節(jié) 無法創(chuàng)建配置文件。無法創(chuàng)建配置文件。)
解決:設(shè)置 web服務(wù)器用戶在zabbix網(wǎng)頁的conf/目錄具有寫權(quán)限,配置文件會自動保存。
設(shè)置目錄的 w 權(quán)限即可
chmod 777 conf/
轉(zhuǎn)載于:https://www.cnblogs.com/fengfengyang/p/10174054.html
總結(jié)
以上是生活随笔為你收集整理的二,zabbix与php的一些问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在2019年,如何成为更好的Node.j
- 下一篇: bzoj2959 长跑