brew 漫长的时间安装扩展包后,发现竟然不支持php7.4。直接打开brew下的php@7.4.rb的安装脚本进行获取其中的./configure配置,参考网上别人的配置文档,修改后,能兼容brew下的php7.4布局,手工编译也能灵活的设置配置编译模块。
具体步骤
1 | #下载php7.4.30.tar.gz |
配置编译选项
7.4
1 | #7.4 |
8.0
1 | ./configure --prefix=/usr/local/Cellar/php@8.0/8.0.23_1 \ |
5.6
1 | ./configure --prefix=/usr/local/Cellar/php@5.6/5.6.40 \ |
编译配置选项说明
openssl
需要注意用brew安装,或者手工编译,这里指定了编译所需要的openssl的库地址
bzip2
需要安装bzip2
1 | brew install bzip2 |
在配置中指定bzip2的类库
1 | --with-bz2=/usr/local/opt/bzip2 |
libffi
安装
1 | brew install libffi |
在环境变量中增加libffi的库地址
1 | export LDFLAGS="$LDFLAGS -L/usr/local/opt/libffi/lib" |
PKG_CONFIG_PATH 变量很重要,php7.4开始,很多扩展库的编译都需要通过此环境变量
icu4c
1 | brew install icu4c |
增加编译环境变量配置
1 | export LDFLAGS="$LDFLAGS -L/usr/local/opt/icu4c/lib" |
sasl
1 | brew install cyrus-sasl |
libxml2
1 | brew install libxml2 |
编译安装
1 | make -j2 && make install |
配置
编译的配置中默认已经指定了配置文件的位置,配置中的这两句就定义
1 | --with-config-file-path=/usr/local/etc/php/7.4 \ |
复制配置文件php-fpm、php.ini的配置文件
1 | sudo cp /usr/local/etc/php/7.4/php-fpm.conf.default /usr/local/etc/php/7.4/php-fpm.conf |
测试配置
1 | /usr/local/opt/php@7.4/sbin/php-fpm --test |
php.ini 中修改的配置
1 | upload_max_filesize = 128M |
启动
1 | /usr/local/sbin/php74-fpm -D |