zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    PAT1092:To Buy or Not to Buy
    PAT1027:Colors In Mars
    PAT1099:Build A Binary Search Tree
    PAT1064: Compelte Binary Search Tree
    PAT1008:Elevator
    TP5整合 WorkerMan 以及 GatewayWorker
    ThinkPHP5通过composer安装Workerman安装失败问题
    浏览器控制台
    webpack线上和线下模式
    PHP读取文件夹目录,按时间排序,大小排序,名字排序
  • 原文地址:https://www.cnblogs.com/Kevin-1967/p/8779177.html
Copyright © 2011-2022 走看看