获得PHP PDO口味在Mac OS X上工作

我正在运行OS X 10.5; 它看起来像是安装了Apache和PHP(减去一些我在本页面打开的小configuration;之前我使用过Apache,所以我知道httpd.conf是如何工作的)。

我有一个使用PDO的预先存在的脚本。 我有一个MySQL数据库,可以很容易地configuration我的脚本通过PDO MySQL或PDO ODBC访问数据库。 问题是,即使我在php.ini中启用了PDO MySQL和PDO ODBC扩展,phpinfo()报告唯一的PDO驱动程序是sqlite2和sqlite。 我猜是相关的扩展名.dll或.so文件不存在? 我如何得到他们?

注意:我正在使用PHP的内置安装。 (请参阅启用PHP的苹果的页面 ,它没有说任何关于configuration或添加额外的.so文件)

默认的PHP安装不是很有用。 为OSX获得更多function完整版的标准unix包的最简单方法是使用MacPorts或Fink。 我个人更喜欢MacPorts,尽pipe我认为大多数人喜欢Fink。

在OSX 10.7和10.8中,默认情况下可以使用MySQL的PDO驱动程序。 但是,您可能需要进行其他更改,如本文所述 。

你需要用参数运行configure:

--with-pdo-mysql=/sw 

/sw如果你使用Fink。 如果你不这样做,把它改成include/mysql.hlib/libmysqlclient.la所在的path( locate mysql.h会有帮助)。

如果你只是想添加PDO扩展到现有的安装,那么下载PHP源码,进入ext/pdo目录,运行:

 phpize && ./configure && make && sudo make install 

这将为您创build和安装合适的.so文件。 脚本会告诉你它放在哪里。 有时它会得到错误的目录,所以请确保它与你的php.ini中的extension_dir匹配。

如果pdo_sqlite扩展已经在工作,那么不需要重新安装pdo扩展本身 – 只是pdo_mysql扩展。

下载与内置版本相同版本的PHP的源代码,并且:

 cd ext/pdo_mysql phpize ./configure --with-pdo-mysql=shared make sudo make install 

应该那么简单。