首先下载PHP-7.3.9源代码,解压保存在/usr/local/src目录。然后禁用SIP,设置根目录的写入权限,具体方法参见《MacOS10.15编译安装PHP详细手册》第三部分。若apache2没有安装或其他依赖库没有安装,也参考手册安装。
以上准备工作完成后,进入PHP-7.3.9源代码目录,执行以下命令:
./configure --prefix=/usr \
--with-apxs2=/usr/local/opt/apache2/bin/apxs \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/private/etc \
--with-libdir=lib \
--enable-cli \
--with-config-file-path=/etc \
--with-libxml-dir=/usr/bin/xml2-config \
--with-openssl=/usr/local/opt/openssl \
--with-zlib=/usr/local/opt/zlib \
--enable-bcmath \
--enable-calendar \
--disable-cgi \
--with-curl=/usr/local/opt/curl \
--enable-dba \
--enable-exif \
--enable-fpm \
--enable-ftp \
--with-gd \
--with-freetype-dir=/usr/local/opt/freetype \
--with-png-dir=/usr/local/opt/libpng \
--with-jpeg-dir=/usr/local/opt/libjpeg \
--enable-mbstring \
--enable-mbregex \
--with-mysqli=mysqlnd \
--without-pcre-jit \
--without-pear \
--with-pear=no \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/var/mysql/mysql.sock \
--disable-phpdbg \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-xmlrpc \
--with-iconv=/usr/local/opt/libiconv
配置命令执行完毕之后,按《MacOS10.15编译安装PHP详细手册》,把Makefile文件里面所有的 -liconv 都替换为以下内容:
/usr/local/opt/libiconv/lib/libiconv.dylib
执行下面的命令编译,并安装:
make
sudo make install
编译通过,顺利安装成功。此时libphp7.so文件将安装在:
/usr/local/lib/httpd/modules/libphp7.so
php、phpize、php-config、phar等可执行程序将安装在:
/usr/bin
此时若在~/.bash_profile文件中配置了$PHP_HOME环境变量,可将其删除,因为/usr/bin目录默认已经在系统环境变量中。执行下面的命令检查当前php:
which php
/usr/bin/php
在httpd配置文件中执行以下命令,修改php模块对应libphp7.so文件的位置:
sudo vi /etc/apache2/httpd.conf
#LoadModule php7_module libexec/apache2/libphp7.so
LoadModule php7_module /usr/local/lib/httpd/modules/libphp7.so
重启httpd服务即可。