为MxSrvs编译扩展so文件

macOS上的这个php集成环境比较好用而且还免费,但是本身自带的扩展比较少,从windows迁移某个数据库pdo驱动的项目时,发现缺少了pdo_mysql.so,导致项目运行不起来。不过也蛮好像没有找到可以现成用的so文件。

  • 第一步
    首先从php官方下载对于php版本的源码包https://www.php.net/releases/
    以下为php 5.6.31为例,下载并解压

  • 第二步
    terminal进入这个文件夹

    1
    2
    3
    4
    5
    6
    # 进入扩展文件夹
    cd Downloads/php-5.6.31/ext/
    # 进入pdo_mysql扩展下
    cd pdo_mysql
    # 执行生成配置文件
    /Applications/MxSrvs/bin/php/bin/phpize

出现以下结果即可

1
2
3
4
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226

如果出现了报错 Cannot find autoconf…的话,需要安装下autoconf

1
2
3
brew install autoconf
# 安装完成后再次重复上面的步骤
/Applications/MxSrvs/bin/php/bin/phpize
  • 第三步
    挂载配置

    1
    ./configure --with-php-config=/Applications/MxSrvs/bin/php/bin/php-config

    等待一系列的chencking完成后即可
    image.png

  • 第四步
    编译

    1
    make && make install

    等待编译完成
    image.png

我们可以看到编译后的so文件路径是
/Applications/MxSrvs/bin/php/lib/php/extensions/no-debug-non-zts-20131226/

  • 第五步
    进入访达 cmd+shift+g 输入路径
    /Applications/MxSrvs/bin/php/lib/php/extensions/no-debug-non-zts-20131226/
    复制pdo_mysql.so文件到
    /Applications/MxSrvs/bin/php/ext下

  • 第六步

进入mxsrvs php 配置修改,添加扩展 extension=pdo_mysql.so ,保存
image.png

  • 第七步
    重启php即可!同样适用于其他扩展文件的编译!