二,zabbix與php的一些問題


zabbix 檢查先決條件

一、php-bcmath 不支持

php 安裝 bcmath 擴展(編譯安裝)

PHP的linux版本需要手動安裝BCMath擴展,在PHP的源碼包中默認包含BCMath的安裝文件,
只需手動安裝一次即可。
       編譯安裝
   1.進入PHP源碼包目錄下的ext/bcmath目錄。
   2.執行phpize命令,phpize命令在PHP安裝目錄的bin目錄下,如/usr/local/php-5.6.36/bin/phpize。

(phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊
比如你想在原來編譯好的php中加入memcached或者ImageMagick等擴展模塊,
可以使用phpize。)。使用如下:
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/ #進入剛解壓的模塊中使用。
/usr/local/webserver/php/bin/phpize
./configure –with-php-config=/usr/local/webserver/php/bin/php-config
make
make install


   3.執行./configure --with-php-config=/usr/local/php/bin/php-config。
   4.執行make && make install。
   5.將安裝完成后得到bcmath.so文件拷貝到php.ini中extension_dir配置的目錄中。
開啟 extension_dir,后面自己配置擴展模塊的目錄。
6.在Dynamic Extensions配置塊下添加一行extension=bcmath.so。
   7.重啟php服務即可。
8.使用命令 php -m | grep bcmath ,查看這個模塊是否加載成功。

其實這個模塊在編譯php的時候可以直接打開 后面加上參數 --enable-bcmath 即可

 

二、php的參數在php.ini中搜索。


PHP選項“max_input_time” 按照要求設置
PHP選項“date.timezone” 設置為 PRC

PHP選項“always_populate_raw_post_data” 這個報錯直接去掉注釋即可

三、解決php的gd庫不支持jpeg和freetype的問題。

1,下載jpeg和freetype的源碼包,解壓安裝,預編譯目錄在 /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()中沒有gd庫。

3,接下來在php源碼解壓后目錄下的ext/gd 中執行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 發現gd庫出現了,並且支持jpeg和freetype。
至此解決這個問題,zabbix服務端可以檢測出來。

四、PHP LADP warnning 解決。php gettext 也是類似解決。

http://www.cnblogs.com/bigdevilking/p/9440098.html


# 出現告警是因為ldap模塊不存在,須要編譯生成此模塊並重新加載

進入PHP源碼包目錄下的ext/ldap 目錄 。
[root@DaMoWang php-7.2.7]# cd /usr/src/php-7.2.7/ext/ldap/ # 進入模塊所在的源碼位置
[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擴展的工具,主要是根據系統信息生成對應的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 #配置 編譯 安裝

執行過程中可能會有如下報錯

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最后一步安裝報錯

Details Cannot create the configuration file.
Unable to create the configuration file.
(細節 無法創建配置文件。無法創建配置文件。)

解決:設置 web服務器用戶在zabbix網頁的conf/目錄具有寫權限,配置文件會自動保存。
設置目錄的 w 權限即可
chmod 777 conf/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM