Mac下如何让XAMPP的指定PHP版本安装并使用所需扩展
解决Mac XAMPP PHP 8.2与brew PHP 8.3冲突及模块安装问题
方案1:给XAMPP自带的PHP 8.2安装imagick和intl模块
- 先确认XAMPP的PHP路径:执行
/Applications/XAMPP/xamppfiles/bin/php -v,确认输出是8.2.4版本 - 安装imagick模块:
- 用brew装ImageMagick依赖:
brew install imagemagick - 调用XAMPP自带的pecl安装imagick:
/Applications/XAMPP/xamppfiles/bin/pecl install imagick - 编辑XAMPP的php.ini文件(路径
/Applications/XAMPP/xamppfiles/etc/php.ini),添加一行extension=imagick.so,如果已有这行但前面带;,去掉注释即可
- 用brew装ImageMagick依赖:
- 安装intl模块:
- 先打开XAMPP的php.ini,搜索
extension=intl.so,如果存在且被注释,去掉前面的; - 如果没有这行,执行
/Applications/XAMPP/xamppfiles/bin/pecl install intl,然后在php.ini添加extension=intl.so
- 先打开XAMPP的php.ini,搜索
- 重启XAMPP的Apache服务,通过WordPress的phpinfo页面或者执行
/Applications/XAMPP/xamppfiles/bin/php -m查看模块是否加载成功
方案2:切换命令行默认PHP到XAMPP版本,避免版本冲突
- 打开终端的配置文件:zsh用户用
open ~/.zshrc,bash用户用open ~/.bash_profile - 在文件末尾添加:
export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" - 保存后执行
source ~/.zshrc(zsh用户)或source ~/.bash_profile(bash用户)生效 - 执行
php -v确认默认PHP已切换为XAMPP的8.2.4,之后用pecl install安装的模块会自动关联到XAMPP的PHP
方案3:改用brew的PHP 8.3搭配XAMPP Apache
- 停止XAMPP的Apache服务,打开XAMPP的Apache配置文件
/Applications/XAMPP/xamppfiles/etc/httpd.conf - 找到加载PHP模块的行(类似
LoadModule php8_module modules/libphp8.so),在前面加#注释掉 - 添加新的模块加载行:
LoadModule php_module /usr/local/opt/php@8.3/lib/httpd/modules/libphp.so(如果brew的PHP路径不同,可执行brew info php@8.3查看模块路径) - 找到文件里的
AddHandler配置,确保是AddHandler application/x-httpd-php .php - 重启XAMPP的Apache,此时Apache会使用brew的PHP8.3,之前安装的imagick和intl模块可直接使用
- 若要命令行也默认用brew的PHP8.3,可在终端配置文件添加
export PATH="/usr/local/opt/php@8.3/bin:$PATH",生效后执行php -v确认
内容的提问来源于stack exchange,提问作者ThisisUX
相关产品推荐
相关产品推荐

