php Compile on Mac

本文介绍了Apache服务器中PHP配置及故障排查的方法,包括检查phpinfo、编译安装php及配置相关模块等步骤,适用于PHP运行环境出现问题时的快速定位与解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

!!当Apache 使用的php出问题时,第一步是看phpinfo。

!!!最重要的事情:重新编译php前一定要记录下phpinfo中的configure选项。


whereis PHP 查看当前使用的php的路径
php -v 查看php版本信息
php -m 查看php启动的模块
php -i | grep php.ini 查看php.ini的路径
php -i | grep extension_dir 查看php extension的安装路径


下载php压缩包并解压。


每次编译php之前,要将old libphp5.so删掉或另存起来,否则新编译出来的libphp5.so不生效(也可能是因为没换路径没有生成)怎么看生不生效?restart Apache,看phpinfo有没有变化。

libphp5.so是Apache要用的php链接库,在httpd.conf中配置。


可选的常用配置(将下面的指令copy文本编辑器,\后面不要有空格,然后copy到terminal。如果paste到terminal时有问题,请手动输入)

./configure \
--with-mysql \
--with-mysqli \
--with-pdo-mysql \
--enable-mbstring \
--enable-zip \
--with-zlib \
--with-curl \
--with-openssl \
--with-apxs2 \
--enable-maintainer-zts \



sudo make clean

sudo make -j8 (编译失败则执行make clean)

sudo make install

sudo apachectl restart



说明:

--with-apxs2=FILE Build shared Apache 2.0 Handler module. FILE is the optional

--enable-maintainer-zts Enable thread safety - for code maintainers only!!

--enable-mbstring  没有这个配置,我们就不能用mb_substitute_character() 

--with-mysql  没有这个配置,我们就不能用mysql_connect() 

--with-openssl  可能遇到错误 configure: error: Cannot find OpenSSL's <evp.h>

需要安装openssl,另一篇blog有说明Install OpenSSL

安装后还可能报错,configure: error: libcrypto not found!,解决方法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值