mac 怎么编译安装 php7

  • 来源:网络
  • 更新日期:2022-02-15

摘要:mac编译安装php7的方法:1、通过“wget -c http://mirrors.sohu.com/php/php-7.1.8.tar.gz”下载PHP;2、通过“tar -zxvf php-7.1.8.tar.gz”解压编译即可。本文操作环境:macOS1

mac编译安装php7的方法:1、通过“wget -c http://mirrors.sohu.com/php/php-7.1.8.tar.gz”下载PHP;2、通过“tar -zxvf php-7.1.8.tar.gz”解压编译即可。


本文操作环境:macOS10.15系统,PHP7.1.8版,macbook pro 2020电脑。

mac 怎么编译安装 php7?

Mac编译安装PHP7.1.8:

1、下载稳定版本的PHPwget -c http://mirrors.sohu.com/php/php-7.1.8.tar.gz2、解压编译tar -zxvf php-7.1.8.tar.gz./configure --prefix=/usr/local/php/7.1.8 \\--with-config-file-path=/usr/local/php/7.1.8/etc \\--with-config-file-scan-dir=/usr/local/php/7.1.8/etc/conf.d \\--with-apxs2=/usr/sbin/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 \\--with-mhash \\--enable-pcntl \\--enable-sockets \\--with-xmlrpc \\--enable-zip \\--enable-soap \\--without-pear \\--with-gettext \\--disable-fileinfo \\--enable-maintainer-zts \\--enable-mysqlnd遇到的问题:apxs报错的问题Sorry, I cannot run apxs. Possible reasons follow:1. Perl is not installed2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs3. Apache was not built using --enable-so (the apxs usage page is displayed)

解决方案:查找httpd安装目录下的bin目录里的 apxs ,尽量不要写/usr/bin/apxs

由于Mac自带的openssl没法升级(我没找到升级的办法),导致版本较低,报错:configure: error: OpenSSL version 1.0.1 or greater required.

解决方案:由于Mac自带的openssl没法升级(我没找到升级的办法),用

brew install openssl

安装最新版的openssl,然后在参数中加上brew安装的ssl的路径

--with-openssl=/usr/local/Cellar/openssl@1.1/1.1.0e--with-gettext报错configure: error: Cannot locate header file libintl.h

解决方案:

brew install gettext

打开PHP的 configure文件,修改文件的

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

改成

for i in $PHP_GETTEXT /usr/local /usr/ usr/local/opt/gettext;dolibiconv问题,报错如下:checking for iconv... nochecking for libiconv... noconfigure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>

解决方案:安装 libiconv (字符编码转换库)网站地址: http://www.gnu.org/software/libiconv/当前版本: https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz

$ wget [https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz$ tar zxvf libiconv-1.15.tar.gz$ cd libiconv-1.15$ ./configure --prefix=/usr/local/lib/libiconv$ make$ sudo make install

安装

make && sudo make install

推荐学习:《PHP7教程》