• zabbix 之 PHP


    zabbix依赖与PHP的很多组件

    ./configure  --enable-fastcgi --enable-fpm --prefix=/usr/local/php  --with-config-file-path=/usr/local/php/etc  --with-mysql=mysqlnd  --with-libxml-dir=/usr/local/libxml2/ --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg8/  --with-freetype-dir=/usr/local/freetype/  --with-gd=/usr/local/gd/  --with-zlib    --with-mcrypt=/usr/local/libmcrypt/  --with-mysqli=mysqlnd --enable-soap   --enable-mbstring=all   --enable-sockets  --with-pdo-mysql=mysqlnd --with-openssl  --enable-xml  --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-bcmath  --with-gettext --with-curl=/usr/local/curl

    1,安装libxml2

    ./configure --prefix=/usr/local /libxml2

    2,安装libmcrypt

    ./configure --prefix=/usr/local/libmcrypt

    安装完成libmcrypt库以后,不同的linux系统版本有可能还要安装一下libltdl库

    可以进入到解压缩的 目录/usr/local/src/libmcrypt-2.5.8下

    ./configure --enable-ltdl-install

    3,安装zlib

    ./configure --prefix=/usr/local/zlib

    4,安装libpng

    ./configure --prefix=/usr/local/libpng

    5,安装jpeg8

    mkdir /usr/local/jpeg8 &&  mkdir /usr/local/jpeg8/bin  &&  mkdir /usr/local/jpeg8/lib   &&  mkdir /usr/local/jpeg8/include  && mkdir -p /usr/local/jpeg8/man/man1 

    ./configure

    > --prefix=/usr/local/jpeg8/

    > --enable-static

    6,安装freetype

    ./configure --prefix=/usr/local/freetype

    7,安装atuoconf

    ./configure && make && make install

    8 ,安装JD库文件

    ./configure --prefix=/usr/local/gd  --with-jpeg=/usr/local/jpeg8  --with-png=/usr/local/libpng  --with-freetype=/usr/local/freetype

    错误

    make[2]: *** [gd_png.lo] 错误 1
    make[2]: Leaving directory `/root/gd-2.0.35'
    make[1]: *** [all-recursive] 错误 1
    make[1]: Leaving directory `/root/gd-2.0.35'
    make: *** [all] 错误 2

    解决办法

    vi gd_png.c

    找到#include "png.h"改成#include "/usr/local/libpng/include/png.h"

    错误

    configure: error: Please reinstall the BZip2 distribution
    解决办法

    yum install -y bzip2 bzip2-devel
     

    错误

    /root/php-5.4.39/ext/gd/gd_ctx.c: 在函数‘_php_image_stream_putc’中:
    /root/php-5.4.39/ext/gd/gd_ctx.c:51: 错误:‘struct gdIOCtx’没有名为‘data’的成员
    /root/php-5.4.39/ext/gd/gd_ctx.c: 在函数‘_php_image_stream_putbuf’中:
    /root/php-5.4.39/ext/gd/gd_ctx.c:58: 错误:‘struct gdIOCtx’没有名为‘data’的成员
    /root/php-5.4.39/ext/gd/gd_ctx.c: 在函数‘_php_image_stream_ctxfree’中:
    /root/php-5.4.39/ext/gd/gd_ctx.c:67: 错误:‘struct gdIOCtx’没有名为‘data’的成员
    /root/php-5.4.39/ext/gd/gd_ctx.c:68: 错误:‘struct gdIOCtx’没有名为‘data’的成员
    /root/php-5.4.39/ext/gd/gd_ctx.c:69: 错误:‘struct gdIOCtx’没有名为‘data’的成员
    In file included from /root/php-5.4.39/ext/gd/gd.c:103:
    /root/php-5.4.39/ext/gd/gd_ctx.c: 在函数‘_php_image_output_ctx’中:
    /root/php-5.4.39/ext/gd/gd_ctx.c:158: 错误:‘gdIOCtx’没有名为‘data’的成员
    make: *** [ext/gd/gd.lo] 错误 1

    解决办法

    进入/usr/local/gd
    vi /include/gd_io.h

    比对格式

    typedef struct gdIOCtx

    {

    int (*getC) (struct gdIOCtx *);

    int (*getBuf) (struct gdIOCtx *, void *, int);

    void (*putC) (struct gdIOCtx *, int);

    int (*putBuf) (struct gdIOCtx *, const void *, int);

    /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */

    int (*seek) (struct gdIOCtx *, const int);

    long (*tell) (struct gdIOCtx *);

    void (*gd_free) (struct gdIOCtx *);

    void (*data);

    }

    gdIOCtx;

    错误

    mbstring.func_overload = 2

    更该配置如下

    ;mbstring.func_overload = 0

    重启php-fpm

    END!

  • 相关阅读:
    c#随便写写 数据层和表现层,队列执行
    unity代码设置鼠标样式
    Unity c#反射查找类中符合条件的方法并执行
    封装你的协程Unity TaskManager
    基于steamworks获取steam用户头像
    开启Unity项目中VS工程的属性面板
    移动端的动态阴影
    c#静态扩展方法,字典的克隆扩展方法
    Unity热更方案汇总
    lua输入函数名字符串执行函数
  • 原文地址:https://www.cnblogs.com/changbo/p/5020191.html
Copyright © 2020-2023  润新知