• Mac OSX编译安装php7.1.8


    laravel中用到ldap认证包,要求php7.0以上版本,而且安装MewsCaptcha包的时候 验证码无法显示

    报错如下:

    Call to undefined function InterventionImageGdimagettfbbox()

    搜索发现需要重新编译php,添加 --with-jpeg-dir=DIR

    1.下载源码  http://mirrors.sohu.com/php

    wget -c http://mirrors.sohu.com/php/php-7.1.7.tar.gz

    tar -zxvf php-7.1.7.tar.gz

    cd php-7.1.7
    ./configure --prefix=/usr/local/php7.1.7
    --with-config-file-path=/usr/local/php7.1.7/etc
    --with-config-file-scan-dir=/usr/local/php7.1.7/etc/conf.d
    --with-apxs2=/usr/local/bin/apxs
    --enable-fpm
    --with-fpm-user=www
    --with-fpm-group=www
    --with-mysqli
    --with-pdo-mysql
    --with-iconv-dir
    --with-freetype-dir
    --with-zlib
    --with-jpeg-dir
    --with-png-dir
    --with-libxml-dir=/usr/bin/xml2-config
    --enable-xml
    --disable-rpath
    --enable-bcmath
    --enable-shmop
    --enable-sysvsem
    --enable-inline-optimization
    --with-curl
    --enable-mbregex
    --enable-mbstring
    --with-mcrypt
    --enable-ftp
    --with-gd
    --enable-gd-native-ttf
    --with-openssl=/usr/local/Cellar/openssl/1.0.2o_1
    --with-mhash
    --enable-pcntl

    --with-ldap
    --enable-sockets

    编译的过程遇到的问题

    1.apxs报错的问题
    Sorry, I cannot run apxs. Possible reasons follow:
    
    1. Perl is not installed
    2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
    3. Apache was not built using --enable-so (the apxs usage page is displayed)
    
    解决办法
    brew install httpd,然后
    find / -name apxs 
    Centos下执行 yum install -y httpd-devel 查找到apxs文件路径,然后修改编译参数如下
    --with-apxs2=/usr/local/bin/apxs
    2.configure: error: OpenSSL version 1.0.1 or greater required.
    
    解决办法:
    brew upgrade openssl
    然后修改编译参数为 openssl的实际路径
    
    --with-openssl=/usr/local/Cellar/openssl/1.0.2o_1
    上述路径根据自己的环境灵活修改
    Centos下 需要 yum install openssl openssl-devel
    然后ln -s /usr/lib64/lib
    configure: error: Cannot find ldap libraries in /usr/lib
    解决办法:
    cp -frp /usr/lib64/libldap* /usr/lib/
    然后再./configure ...即可
    报错信息
    /usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_scanf'
    /usr/lib64/liblber-2.4.so.2: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    make: *** [sapi/cli/php] 错误 1
    
    解决办法:
    
    ./configure后
    编辑MakeFile
    找到 开头是 'EXTRA_LIBS' 这一行 在结尾加上 '-llber' 然后执行 make && make install

     参考地址:

    https://www.jianshu.com/p/dff29b4566a6

  • 相关阅读:
    left join 多表关联查询
    Dictionary解析json,里面的数组放进list,并绑定到DataGridView指定列
    C#同一位置切换显示两个Panel内容
    C#点击按钮用DataGridView动态增加行、删除行,增加按钮列
    C#获取本机mac地址
    C# MD5加密
    C# SQLiteDataReader获得数据库指定字段的值
    linux下mongodb安装、服务器、客户端、备份、账户命令
    ubuntu下创建python的虚拟环境
    python多进程之间的通信:消息队列Queue
  • 原文地址:https://www.cnblogs.com/Kevin-1967/p/8779177.html
Copyright © 2020-2023  润新知