zoukankan      html  css  js  c++  java
  • [安装] mac安装PHP7经历

    背景

    前几天在mac上跑workrman,由于workerman需要开启多个进程,多进程需要pcntl扩展的支持,我之前那个brew安装的php71没有这个扩展,就直接卸载了php71,然后想下载源码编译安装php7的更高版本,也可以更自由的安装扩展。

    源码编译安装(php-7.2.7)


    问题一

    
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:  --enable-fpm
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:  --with-mysqli
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:  --with-pdo-mysql
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:  --with-iconv-dir
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:  --with-eeeetype-dir
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:  --with-zlib
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:  --with-jpeg-dir
    configure: WARNING: you should use --build, --host, --target
    configure: WARNING: invalid host type:  --with-png-dir
    configure: error: invalid variable name: ` --with-libxml-dir'
    
    

    解决:都是因为—with前面多了个空格


    问题二

    
    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   
    
    

    问题三

    
    checking if the location of ZLIB install directory is defined... no ;
    configure: error: Cannot find libz.
    
    

    解决办法

    
    brew install zlib
    find / -name lib
    
    

    加上参数

    
    --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11
    
    

    参考链接


    问题四

    
    configure: error: Cannot locate header file libintl.h
    原因是没有gettext
    
    

    解决办法:

    
    $PHP_GETTEXT /usr/local /usr; do
    
    

    configure文件改为

    
    for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do
    
    

    参考链接


    问题五

    
    configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
    
    

    解决办法,编译参数中加上

    
    --with-iconv=/usr/local/Cellar/libiconv/1.15
    
    

    参考链接


    问题六

    
    checking for libiconv in -liconv... no
    checking for iconv in -liconv... no
    configure: error: Please reinstall the iconv library.
    

    最终卡在了这里,没解决。然后编译安装就没有成功

    最后解决到问题五的时候的编译安装命令如下:

    
    ./configure --prefix=/usr/local/php/7.2.7—with-config-file-path=/usr/local/php/7.2.7/etc --with-config-file-scan-dir=/usr/local/php/7.2.7/etc/conf.d  --with-apxs2=/usr/local/bin/apxs --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11 --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql  --with-iconv=/usr/local/Cellar/libiconv/1.15 --with-eeeetype-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-onsnssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintnener-zts --enable-mysqlnd
    
    

    brew安装

    1.搜索brew中的php

    
    brew search php
    
    

    出现了:php@5.6 php@7.1 php@7.0

    2.然后安装了php7.0

    
    brew install php70
    
    

    3.将php设置系统环境变量

    
    find / -name php # 先找到php执行文件
    cp /usr/local/Cellar/php@7.0/7.0.30_1/bin/php /usr/bin  # 将php执行文件放到/usr/bin/文件夹中
    
    

    最后

    通过源码编译安装没有成功,还是brew install安装成功

    原文地址:https://segmentfault.com/a/1190000015670210

  • 相关阅读:
    [BetterExplained]书写是为了更好的思考
    java 连接 mysql 数据库 ..password [yes]问题
    学习密度与专注力
    抠鼻屎的方法
    张飞流水账(摘)
    用 C 语言 连接 mysql (问题已解决)
    编程的首要原则(s)是什么?
    Tomat源码学习(二)(转载)
    [BetterExplained]为什么你应该(从现在开始就)写博客
    事件 代理 练习
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9979843.html
Copyright © 2011-2022 走看看