您好,登錄后才能下訂單哦!
一、安裝前準備
如果已經安裝的PHP是通過yum安裝,升級前先刪除舊版本:
備份php.ini配置文件
#cp /etc/php.ini /etc/php.ini.bak
卸載舊版本PHP:
#yum remove -y php*
注:其實通過yum卸載時,會自動將配置文件php.ini備份為php.ini.rpmsave
如果原本是編譯安裝的,直接升級覆蓋安裝即可,可以查看之前的編譯參數
進入安裝目錄
# cd /usr/local/php/bin/
# ./php -i | grep configure
安裝依賴功能軟件包:
系統光盤默認包含以下軟件包,光盤文件這里我掛載在/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過程中會出現以下報錯:
二、編譯安裝
注意: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
參數選項說明:
參數 | 解釋說明 |
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監控必須安裝這個模塊 |
disable-ipv6 | 禁用IPv6支持 |
with-gd | 打開gd庫的支持,zabbix監控必須安裝這個模塊 |
with-jpeg-dir | 打開對jpeg圖片的支持,zabbix監控必須安裝這個模塊 |
with-png-dir | 打開對png圖片的支持 ,zabbix監控必須安裝這個模塊 |
with-freetype-dir | 打開對freetype字體庫的支持,zabbix監控必須安裝這個模塊 |
enable-gd-native-ttf | 支持TrueType字符串函數庫,zabbix監控必須安裝這個模塊 |
enable-mbstring | 多字節,字符串的支持,zabbix監控必須這個模塊 |
enable-calendar | 打開日歷擴展功能 |
with-gettext | 打開gnu的gettext 支持,編碼庫用到,zabbix監控必須安裝這個模塊 |
with-libxml-dir | 打開libxml2庫的支持,zabbix監控必須這個模塊 |
with-zlib | 啟用zlib支持 |
with-pdo-mysql | 啟用PDO:mysql支持。 |
with-mysqli | mysqli擴展技術不僅可以調用MySQL的存儲過程、處理MySQL事務,而且還可以使訪問數據庫工作變得更加穩定。 |
with-mysql | mysql安裝目錄,對mysql的支持 |
enable-dom | 啟用DOM支持 |
enable-xml | 啟用xml支持 |
enable-fpm | PHP-FPM提供了更好的PHP進程管理方式,可以有效控制內存和進程、可以平滑重載PHP配置 |
with-libdir | 設置庫文件查找路徑 |
enable-bcmath | 打開圖片大小調整,zabbix監控必須安裝這個模塊 |
具體更詳細的說明,大家可以configure--help查看下幫助手冊
開始安裝:
#make&& make install
注:如果php已經make過,最好make clean以保證configure指示的參數能夠正確被編譯.
三、配置PHP
安裝之后,php.ini默認不存在。如果需要設置php.ini選項,通過phpinfo()函數查看php.ini默認存放路徑,將php源碼路徑下的php.ini-recommended或php.ini-production復制到其目錄下更名為php.ini
#cp /tmp/php-5.6.11/php.ini-production /etc/php.ini
配置php
# vi /etc/php.ini
打開php.ini配置文件,修改或添加以下參數為如下值,否則ZABBIX安裝時會驗證不過去。
max_execution_time = 300
memory_limit =256M //最低要求為128M,如果需要頻繁調用API,這里建議設置大一些,可以根據httpd進程的 負載做適當調整
post_max_size = 16M
max_input_time = 300
date.timezone = PRC
session.auto_start = 0
mbstring.func_overload = 2
四、設置php-fpm
PHP-FPM提供了更好的PHP進程管理方式,可以有效控制內存和進程、可以平滑重載PHP配置
復制php-fpm配置配置文件
#cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#設置 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
五、設置Apache與php關聯
# vi /usr/local/apache/conf/httpd.conf
加入以下內容:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml .html
AddType application/x-httpd-php-source .phps
復制全局命令
#cp /usr/local/php/bin/php /usr/sbin/php
查看升級后版本號是否正確:
# php v
六、隱藏PHP版本號
編輯php.ini
# vi /etc/php.ini
修改
expose_php On
改成
expose_php Off
重啟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]
解決方案:
將路徑中/var/www/html/zabbix/include/locales.inc.php的第25行數據注釋掉,頁面不會顯示錯誤
接下來會對MYSQL進行升級。。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。