Mac 下编译 PHP 扩展遇到的一些问题
2018-02-09 15:52
597 查看
MacOS 每次更新都会给编译 PHP 扩展带来一些麻烦,今天在安装 PCNTL 扩展的时候又遇上了,所以记录一下。
我的系统版本是 macOS High Sierra 10.13.3,PHP 版本是 PHP-7.1.7。
首先我从官网下载跟我系统版本相同的 PHP,默认下载到 Downloads 目录下面,之后运行 phpize,提示如下错误:grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory 使用 vim 查看 phpize,发现 phpize 默认的根目录是 /usr/include/php,我在 /user/include/ 目录下新建 php 目录,并将下载的代码 mv 到该目录下。
重新运行 phpize,工作正常。
运行 ./configure,工作正常。
运行 make,提示如下错误:/usr/include/php/Zend/zend_portability.h:48:11: fatal error: 'zend_config.h' file not found zend_config.h 文件缺失,我看了下,目录下确实没有这个文件,以为是下载的遗漏了,然后去 github php-src 里面也没找到。百度的结果是这个文件在 Xcode 的目录下面有。
在“/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php”这个目录下面存在该文件。将文件复制到当前 php 目录下,重新编译。
后面会一直提示找不到“php_config.h tsrm_config.h build-defs.h”等文件,逐个从 Xcode 目录下将这些文件复制到当前 PHP 目录下,之后编译成功。
编译成功之后在 php.ini 文件中将扩展添加进去,重启 apache,查看 phpinfo,可以看到扩展已经安装成功。
我的系统版本是 macOS High Sierra 10.13.3,PHP 版本是 PHP-7.1.7。
首先我从官网下载跟我系统版本相同的 PHP,默认下载到 Downloads 目录下面,之后运行 phpize,提示如下错误:grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory 使用 vim 查看 phpize,发现 phpize 默认的根目录是 /usr/include/php,我在 /user/include/ 目录下新建 php 目录,并将下载的代码 mv 到该目录下。
重新运行 phpize,工作正常。
运行 ./configure,工作正常。
运行 make,提示如下错误:/usr/include/php/Zend/zend_portability.h:48:11: fatal error: 'zend_config.h' file not found zend_config.h 文件缺失,我看了下,目录下确实没有这个文件,以为是下载的遗漏了,然后去 github php-src 里面也没找到。百度的结果是这个文件在 Xcode 的目录下面有。
在“/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/php”这个目录下面存在该文件。将文件复制到当前 php 目录下,重新编译。
后面会一直提示找不到“php_config.h tsrm_config.h build-defs.h”等文件,逐个从 Xcode 目录下将这些文件复制到当前 PHP 目录下,之后编译成功。
编译成功之后在 php.ini 文件中将扩展添加进去,重启 apache,查看 phpinfo,可以看到扩展已经安装成功。
相关文章推荐
- mac安装php的oracle扩展oci8的一些问题
- CentOs 编译php 遇到的一些问题
- mac安装lnmp环境中php扩展遇到的问题
- 编译php-memcached 扩展时候遇到的问题Unable to find memcached.h
- CentOs 编译php 遇到的一些问题
- windows下编译php扩展遇到的问题
- 编译lua5.3扩展.so文件时遇到的一些问题总结
- 编译PHP中的扩展时遇到的问题及解决方法
- CentOs 编译php 遇到的一些问题
- vs2015编译 jrtp库使用过程中遇到的一些问题
- Mac配置Hadoop遇到的一些问题
- PHP编译遇到的问题
- Latex排版论文的过程中遇到的一些编译问题及解决方案
- ubuntu配置android开发环境和编译源码遇到的一些问题
- 编译一些网上的directshow的例子时候,总会遇到各种各样的问题,下面搜集如下:
- Java编译和Tomcat启动遇到的一些问题
- 基于linux内核4.12 编译 scullc程序遇到的一些问题
- 编译teamtalk遇到的一些问题
- LDD3在Ubuntu下编译 scull例子时遇到的一些问题
- Mac OS X 下 php 扩展 memcached 编译安装失败