在 Mac OS X 上构建 PHP 5.3.0 时,如何确定要使用哪些 ./configure 选项?有 10 亿个选项,我不知道该使用哪些选项。
我只想确保我启用了 PDO 和 PDO+MySQL。
[[[[尖叫声!]]]] 我跑了sudo port install php5-mysql
,它“工作”了,但是当我运行 php 时:
$ php
PHP Warning: Cannot load module 'mysql' because required module 'mysqlnd' is not loaded in Unknown on line 0
Warning: Cannot load module 'mysql' because required module 'mysqlnd' is not loaded in Unknown on line 0
dyld: lazy symbol binding failed: Symbol not found: __mysqlnd_palloc_rinit
Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mysqli.so
Expected in: dynamic lookup
dyld: Symbol not found: __mysqlnd_palloc_rinit
Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mysqli.so
Expected in: dynamic lookup
Trace/BPT trap
啊哈!macports 的维护者发现了同样的问题。我做了sudo port selfupdate
并重新安装了 php5,它运行良好。
使用MacPorts,因为它们以更易于理解的方式将大部分设置打包在一起。例如:
通过在配置命令行上指定所需的选项来启用它们。我的 5.1.6 配置命令中出现的 MySQL 选项如下:
至少,我会指定一个安装前缀以及您拥有的 Apache 安装类型(v1 或 v2)(您应该已经构建):
确保 mysql_config(假设有这样的东西)在你的路径中,或者告诉 configure mysql 库的位置。
当您需要知道如何配置某些东西时,如果您想要一些非常通用的构建包的建议。
对于 PHP 5.3,集成 MySQL 访问库非常容易。只需
mysqlnd
在配置标志中启用 MySQL 本机驱动程序(或):对于它的价值,看看buildphp,它是一个基于 Rake 的 PHP 构建系统,专门用于简化 PHP 5.3(以及用于 PHP 扩展的最新库集)的编译。
http://github.com/patcoll/buildphp