ZABBIX企业监控实践(3):升级与配置PHP
admin
2023-06-26 16:42:16
0

一、安装前准备

如果已经安装的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

ZABBIX企业监控实践(3):升级与配置PHP

安装依赖功能软件包:

系统光盘默认包含以下软件包,光盘文件这里我挂载在/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过程中会出现以下报错:

ZABBIX企业监控实践(3):升级与配置PHP

ZABBIX企业监控实践(3):升级与配置PHP

ZABBIX企业监控实践(3):升级与配置PHP

ZABBIX企业监控实践(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企业监控实践(3):升级与配置PHP


参数选项说明:

参数

解释说明

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 

ZABBIX企业监控实践(3):升级与配置PHP

注:如果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

ZABBIX企业监控实践(3):升级与配置PHP

四、设置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

ZABBIX企业监控实践(3):升级与配置PHP


五、设置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

ZABBIX企业监控实践(3):升级与配置PHP

复制全局命令

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

查看升级后版本号是否正确:

# php v
ZABBIX企业监控实践(3):升级与配置PHP


六、隐藏PHP版本号

编辑php.ini

# vi /etc/php.ini

修改

expose_php On

改成

expose_php Off

ZABBIX企业监控实践(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企业监控实践(3):升级与配置PHP

解决方案:

将路径中/var/www/html/zabbix/include/locales.inc.php的第25行数据注释掉,页面不会显示错误

ZABBIX企业监控实践(3):升级与配置PHP

接下来会对MYSQL进行升级。。



相关内容

热门资讯

美民调:超半数美国人称生活成本... 据凤凰卫视报道,美国政治新闻网5月29日公布的最新民调显示,美国选民仍然不满意总统特朗普的经济政策,...
燃气灶开关无法控制怎么办 燃气灶开关无法控制,这是一种非常危险的情况。这种情况可能会导致燃气泄漏和火灾等严重后果。如果您遇到这...
为什么海尔冰箱冷冻室温度显示一... 这种情况表示的是超温报警灯亮了。也就是说冰箱的冷冻室温度没有降下去,冷冻室温度降到零下8度左右就自动...
西门子冰箱冷冻室温度一直闪烁是... 1、有可能是因为操作不当导致的情况;2、有可能是西门子冰箱显示屏的供电电源或显示屏本身的故障。 ...
冰雪儿点菜柜冷冻室温度灯一直闪 1、可能是因为冰雪儿点菜柜的压缩机遭到了损坏。 2、可能是因为点菜柜的内部电路发生了断路。3、可能是...
海尔冰箱冷冻温度一直闪怎么解决 一直闪可能是超温报警灯亮了,这说明冷冻室的温度出现了异常,一般是温度过高造成的报警,看看冷冻室是否关...
健康证上标注“女性私密”?越界... 南方都市报29日报道,深圳一市民陈某(化名)在深圳市南山区妇幼保健院办理托幼岗位健康证时遭遇乱象。据...
2026香格里拉对话会开幕,中... 第23届香格里拉对话会5月29日晚在新加坡开幕,来自40多个国家和地区的政要、防务官员和专家学者等共...
美国中期选举:谁是骄兵必败,谁... 【文/观察者网专栏作者 周德宇】从特朗普二次执政以来,其民调可以说是一路雪崩,连累着共和党也一起遭殃...
芗城区科协开展全国科技工作者日... 5月27日,芗城区科协联合东铺头街道、瑞京社区等单位,走进芗城实幼东铺头园区,开展芗城区全国科技工作...