溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

發(fā)布時間:2020-06-15 20:43:11 來源:網(wǎng)絡(luò) 閱讀:1652 作者:線的距離 欄目:web開發(fā)

一、安裝前準(zhǔn)備

如果已經(jīng)安裝的PHP是通過yum安裝,升級前先刪除舊版本:

備份php.ini配置文件

#cp /etc/php.ini /etc/php.ini.bak


卸載舊版本PHP:

#yum remove -y php*

注:其實通過yum卸載時,會自動將配置文件php.ini備份為php.ini.rpmsave


如果原本是編譯安裝的,直接升級覆蓋安裝即可,可以查看之前的編譯參數(shù)

進入安裝目錄

# cd /usr/local/php/bin/

# ./php -i | grep configure

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

安裝依賴功能軟件包:

系統(tǒng)光盤默認(rèn)包含以下軟件包,光盤文件這里我掛載在/mnt/cdrom/目錄下

# cd /mnt/cdrom/Packages/

# rpm -ivh bzip2-devel-1.0.5-7.el6_0.x86_64.rpm

# rpm ivh freetype-2.3.11-6.el6_2.9.x86_64.rpm

# rpm ivh freetype-devel-2.3.11-6.el6_2.9.x86_64.rpm

# rpm ivh libjpeg-6b-46.el6.x86_64.rpm

# rpm ivh libjpeg-devel-6b-46.el6.x86_64.rpm

# rpm ivh libpng-1.2.49-1.el6_2.x86_64.rpm

# rpm ivh libpng-devel-1.2.49-1.el6_2.x86_64.rpm

如果沒有安裝以上依賴包,則編譯PHP過程中會出現(xiàn)以下報錯:

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

二、編譯安裝

注意:PHP版本必須大于5.3.0,否則無法通過ZABBIX安裝驗證

下載地址:http://php.net/downloads.php

解壓安裝包

# tar -zxvf php-5.6.11.tar.gz

# cd php-5.6.11

編譯:

#./configure --prefix=/usr/local/php --with-config-file-path=/etc/ --with-apxs2=/usr/local/httpd/bin/apxs --with-bz2 --with-curl --with-libdir=lib64 --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --with-libxml-dir=/usr/local --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-gettext --with-zlib --with-gd --enable-sockets --disable-ipv6 --enable-gd-native-ttf --enable-mbstring --enable-bcmath --enable-calendar --enable-dom --enable-xml --enable-fpm

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP


參數(shù)選項說明:

參數(shù)

解釋說明

prefix

指定安裝PHP安裝目錄

with-config-file-path

指定php.ini位置

with-apxs2

整合apache,apxs功能是使用mod_so中的LoadModule指令,加載指定模塊到apache,要求apache要打開SO模塊,這里的路徑為Apache為安裝的路徑,如果不知道在哪里最好查詢下apxs在哪里

with-bz2

打開對bz2文件的支持

with-curl

打開curl瀏覽工具的支持

enable-sockets 

打開對bz2文件的支持,zabbix監(jiān)控必須安裝這個模塊

disable-ipv6

禁用IPv6支持

with-gd

打開gd庫的支持,zabbix監(jiān)控必須安裝這個模塊

with-jpeg-dir 

打開對jpeg圖片的支持,zabbix監(jiān)控必須安裝這個模塊

with-png-dir  

打開對png圖片的支持 ,zabbix監(jiān)控必須安裝這個模塊

with-freetype-dir

打開對freetype字體庫的支持,zabbix監(jiān)控必須安裝這個模塊

enable-gd-native-ttf

支持TrueType字符串函數(shù)庫,zabbix監(jiān)控必須安裝這個模塊

enable-mbstring

多字節(jié),字符串的支持,zabbix監(jiān)控必須這個模塊

enable-calendar  

打開日歷擴展功能

with-gettext

打開gnu的gettext 支持,編碼庫用到,zabbix監(jiān)控必須安裝這個模塊

with-libxml-dir 

打開libxml2庫的支持,zabbix監(jiān)控必須這個模塊

with-zlib    

啟用zlib支持

with-pdo-mysql 

啟用PDO:mysql支持。

with-mysqli

mysqli擴展技術(shù)不僅可以調(diào)用MySQL的存儲過程、處理MySQL事務(wù),而且還可以使訪問數(shù)據(jù)庫工作變得更加穩(wěn)定。

with-mysql

mysql安裝目錄,對mysql的支持

enable-dom 

啟用DOM支持

enable-xml

啟用xml支持

enable-fpm

PHP-FPM提供了更好的PHP進程管理方式,可以有效控制內(nèi)存和進程、可以平滑重載PHP配置

with-libdir

設(shè)置庫文件查找路徑

enable-bcmath

打開圖片大小調(diào)整,zabbix監(jiān)控必須安裝這個模塊

具體更詳細(xì)的說明,大家可以configure--help查看下幫助手冊

 

開始安裝

#make&& make install 

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

注:如果php已經(jīng)make過,最好make clean以保證configure指示的參數(shù)能夠正確被編譯.


三、配置PHP

安裝之后,php.ini默認(rèn)不存在。如果需要設(shè)置php.ini選項,通過phpinfo()函數(shù)查看php.ini默認(rèn)存放路徑,將php源碼路徑下的php.ini-recommended或php.ini-production復(fù)制到其目錄下更名為php.ini

#cp /tmp/php-5.6.11/php.ini-production /etc/php.ini

配置php

# vi /etc/php.ini

打開php.ini配置文件,修改或添加以下參數(shù)為如下值,否則ZABBIX安裝時會驗證不過去。

max_execution_time = 300

memory_limit =256M         //最低要求為128M,如果需要頻繁調(diào)用API,這里建議設(shè)置大一些,可以根據(jù)httpd進程的                              負(fù)載做適當(dāng)調(diào)整

post_max_size = 16M

max_input_time = 300

date.timezone = PRC

session.auto_start = 0

mbstring.func_overload = 2

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

四、設(shè)置php-fpm

PHP-FPM提供了更好的PHP進程管理方式,可以有效控制內(nèi)存和進程、可以平滑重載PHP配置

復(fù)制php-fpm配置配置文件

#cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf


#設(shè)置 php-fpm開機啟動

# cp /tmp/php-5.6.11/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

# chmod +x /etc/init.d/php-fpm

# chkconfig --add php-fpm

# chkconfig php-fpm on

# service php-fpm start

# netstat -lnt | grep 9000

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP


五、設(shè)置Apache與php關(guān)聯(lián)

# vi /usr/local/apache/conf/httpd.conf

加入以下內(nèi)容:

LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php .phtml .html

AddType application/x-httpd-php-source .phps

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

復(fù)制全局命令

#cp /usr/local/php/bin/php /usr/sbin/php

查看升級后版本號是否正確:

# php v
ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP


六、隱藏PHP版本號

編輯php.ini

# vi /etc/php.ini

修改

expose_php On

改成

expose_php Off

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

重啟apache,php版本在http頭中隱藏了。

# service httpd restart


登錄進zabbix頁面中,如果頁面顯示如下錯誤:

ini_set(): Use of mbstring.internal_encoding is deprecated [dashboard.php:21  require_once()  ZBase->run() ZBase->initLocales()  init_mbstrings()  ini_set() in /var/www/html/zabbix/include/locales.inc.php:25]

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

解決方案:

將路徑中/var/www/html/zabbix/include/locales.inc.php的第25行數(shù)據(jù)注釋掉,頁面不會顯示錯誤

ZABBIX企業(yè)監(jiān)控實踐(3):升級與配置PHP

接下來會對MYSQL進行升級。。



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI