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/

二,zabbix与php的一些问题的更多相关文章

  1. Zabbix应用二:Zabbix添加监控主机

    Zabbix添加被监控主机 一.选择中文语言 Zabbox3.0默认支持中文,可以登录后,点击右上角的用户图标,然后在语言中选择中文即可. 二.添加被监控主机 1.选择'配置'->'主机',然后 ...

  2. Zabbbix之十二------Zabbix实现微信报警通知及创建聚合图形

    实战一:实现zabbix监控微信报警 1.在企业微信上注册账号 1.注册企业微信,管理员需要写上自己的真实姓名,扫描以下的二维码,与微信关联真实姓名. 2.登陆企业微信,然后创建一个微信故障通知应用 ...

  3. zabbix 二 zabbix agent 客户端

    [root@zabbix_agent src]# cd zabbix-3.0.3 [root@zabbix_agent zabbix-3.0.3]# ls aclocal.m4 bin ChangeL ...

  4. Zabbix(二) : Zabbix Server端配置文件说明

    Zabbix Server端配置文件说明 # This is a configuration file for Zabbix Server process # To get more informat ...

  5. Zabbix自定义监控8080端口的连接数

    Zabbix自定义监控8080端口的连接数 一 zabbix自定义监控实现思路 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是:1.写一个脚本用于获取待监控服务的一些状态信息2. ...

  6. 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除

    1.LNMP所需安装包: 上传如下软件包到/soft目录中 mysql- (centos6. 64位自带)也可根据版本自行挑选,前提你了解这个版本 pcre-8.36.tar.gz nginx-.ta ...

  7. 详解zabbix安装部署(Server端篇)

    原文:http://blog.chinaunix.net/uid-25266990-id-3380929.html Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等 ...

  8. 初试zabbix

    一.zabbix简介    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.       zabbix由zabbix server与可选组件zabbix a ...

  9. zabbix邮件告警

    Zabbix邮件告警看了很多文档,写的那叫一个蛋疼,明明没有发出去邮件,硬要糊弄观众,我也跟着被糊弄. 操作系统环境: CentOS 5.5 x84_64位 Zabbix版本2.2.3 Web服务器: ...

  10. RedHat 7.1 下安装 Zabbix监控程序详解(适合linux初级用户)

    RedHat 7.1 安装 Zabbix 监控程序详解(适合对linux初级用户)2017-05-02 安装步骤: 1.zabbix需要安装LAMP架构 2.安装zabbix服务 3.初始化zabbi ...

随机推荐

  1. js相同的正则多次调用test()返回的值却不同的问题

    js代码: var name = '测试中文';// 姓名 var nameRgexp = new RegExp("[a-zA-Z\u4e00-\u9fa5]{2,}"," ...

  2. 判断手机浏览器还是微信浏览器(PHP)

    //判断是否 微信浏览器 function isWeixin1() { if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== fa ...

  3. JDBC-2(CRUD)

    3.PreparedStatement实现CRUD 3.1 操作和访问数据库 数据库连接被用于向数据库服务器发送命令和SQL语句,接受数据库服务器返回的结果.(一个数据库连接就是也给Socket连接) ...

  4. Promise源码实现与测试

    const PENDING = 'pending', FULFILLED = 'fulfilled', REJECTED = 'rejected' class MyPromise { construc ...

  5. LR进行内外网附件上传并发——实践心得

    刚开始接触LR的时候,做了一次内外网附件上传的并发测试,比较简单,但当时理解有些欠缺.以下为当时的实践心得: 1.分内外网测试的意义: 内网测试主要看负载压力情况等,外网测试主要考虑网络带宽.网络延时 ...

  6. 项目部署(ubuntu+uwsgi+nginx+supervisor+django)

    一.在开发机上的准备工作 1. 确认项目没有bug. 2.设置`ALLOW_HOST`为你的域名,以及ip地址. 4.设置`DEBUG=False`,避免如果你的网站产生错误,而将错误信息暴漏给用户. ...

  7. 10.6 Nginx 高并发连接

    Nginx 高并发连接 什么是IO,输入输出      Web服务器IO的整个详细过程             (1)客户发起请求到服务器网卡:         (2)服务器网卡接受到请求后转交给内核 ...

  8. sqlite3 c++使用以及提高速率(一万条每秒左右)

    参考来源: sqlite3的C语言使用(三):https://www.leavesongs.com/C/sqlite3_3.html sqlite插入和查询效率提高方法及测试结果: http://bl ...

  9. GoLang设计模式10 - 中介者模式

    中介者模式是一种行为型设计模式.在中介者模式中创建了一个中介对象来负责不同类间的通信.因为这些类不需要直接交互,所以也就能避免它们之间的直接依赖,实现解耦的效果. 中介者模式的一个典型案例是老式小火车 ...

  10. appium启动ios系统上面的app需求的参数

    Appium启动APP至少需要7个参数  'platformVersion','deviceName'.'udid'.'bundleId'.'platformName'.'automationName ...