You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apple Silicon M2 macOS Ventura下XAMPP无法识别PDO SQL Server驱动求助

解决XAMPP on Apple Silicon M2无法识别pdo_sqlsrv驱动的问题

核心问题是你通过系统pecl安装的驱动默认关联到了macOS自带的PHP环境,而XAMPP使用独立的PHP运行环境,导致驱动未被加载到XAMPP的PHP中。按以下步骤排查修复:

  • 确认XAMPP与系统PHP的路径差异
    执行/Applications/XAMPP/bin/php -v,对比系统php -v的输出,确保版本一致(你的情况为8.1.12),但两者安装路径完全不同,驱动必须安装到XAMPP的PHP扩展目录才会生效。

  • 使用XAMPP自带的pecl重新安装驱动
    不要直接用系统的pecl,改用XAMPP的pecl工具执行安装,适配Apple Silicon的arm64架构:

    # 先卸载系统环境中已安装的驱动(避免混淆)
    pecl uninstall sqlsrv pdo_sqlsrv
    # 使用XAMPP的pecl安装适配arm64的驱动
    CFLAGS="-arch arm64" CXXFLAGS="-arch arm64" /Applications/XAMPP/bin/pecl install sqlsrv pdo_sqlsrv
    

    如果提示已安装,先执行卸载命令再重新安装。

  • 检查并修改XAMPP的php.ini配置
    打开XAMPP的php.ini文件:/Applications/XAMPP/etc/php.ini,确认文件中存在以下两行配置(没有则手动添加):

    extension=sqlsrv.so
    extension=pdo_sqlsrv.so
    

    PHP 7.0+版本无需额外指定extension_dir,默认会读取XAMPP的扩展目录。

  • 重启Apache并验证驱动加载
    通过XAMPP Manager重启Apache服务器,在htdocs目录新建phpinfo.php文件,内容如下:

    <?php phpinfo(); ?>
    

    访问该文件(如http://localhost/phpinfo.php),搜索pdo_sqlsrv,若能看到对应的模块信息,说明驱动已成功加载。

  • 补充:安装FreeTDS依赖(若出现编译错误)
    若安装驱动时提示缺少FreeTDS,先通过Homebrew安装:

    brew install freetds
    

    再指定FreeTDS路径重新安装驱动:

    CFLAGS="-arch arm64" CXXFLAGS="-arch arm64" /Applications/XAMPP/bin/pecl install -D "with.freetds=/opt/homebrew/opt/freetds" sqlsrv pdo_sqlsrv
    

内容的提问来源于stack exchange,提问作者Murilo lima alves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:30:50