在Mac OS X上构buildPHP 5.3.0时,如何确定使用哪个./configure选项? 有10万个选项,我不知道要使用哪一个。
我想要的是确保我有PDO和PDO + MySQL启用。
[[[scream!]]]]我运行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,因为它们已经将大部分设置打包在一起,这样更容易理解。 例如:
port install php5-mysql
通过在configure命令行中指定选项来启用所需的选项。 出现在我的5.1.6 configure命令中的MySQL选项如下:
$ ./configure --help | grep mysql
--with-mysql [= DIR]包含MySQL支持。 DIR是MySQL的基本目录
--with-mysql-sock [= DIR] MySQL:MySQL unix套接字指针的位置。
--with-mysqli [= FILE]包含MySQLi支持。 FILE是可选的path名
到mysql_config
--enable-embedded-mysqli MYSQLi:启用embedded式支持
--with-pdo-mysql [= DIR] PDO:MySQL支持。 DIR是MySQL的基本目录
至less,我将指定一个安装前缀以及Apache安装(您应该已经构build)的types(v1或v2):
$ ./configure --prefix = / opt / apache --with-apxs2 = / opt / apache / bin / apxs \ --with-mysql --with-pdo-mysql
确保mysql_config(假设有这样的事情)在你的path中,或者告诉configurationmysql库的位置。
在OSX上构buildPHP 5.3.0时,如何确定使用哪个./configure选项?
如果您需要知道如何configuration某些东西,那么您需要一些真正的通用build议来构build软件包。
对于PHP 5.3,集成MySQL访问库非常简单。 这只是在configuration标志中启用MySQL Native Driver(或mysqlnd )的问题:
./configure --enable-pdo --with-mysql=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd
请看buildphp ,这是一个基于Rake的PHP构build系统,专门用于编译PHP 5.3(以及用于PHP扩展的最新库集合)。