让 PHP PDO 风格在 Mac OS X 上运行

让 PHP PDO 风格在 Mac OS X 上运行

我正在运行 OS X 10.5;它看起来已经安装了 Apache 和 PHP(除了我打开的一些小配置)每页;我以前使用过 Apache,所以我知道 httpd.conf 的基本工作原理)。

我有一个使用 PDO 的现有脚本。我有一个 MySQL 数据库,并且可以轻松配置我的脚本以通过 PDO MySQL 或 PDO ODBC 访问数据库。问题是,即使我在 php.ini 中启用了 PDO MySQL 和 PDO ODBC 扩展,phpinfo() 仍报告唯一的 PDO 驱动程序是 sqlite2 和 sqlite。我猜相关扩展 .dll 或 .so 文件不存在?我如何获取它们?

注意:我使用的是 PHP 的内置安装。(请参阅apple 关于启用 php 的页面,其中没有提到任何有关配置或添加其他 .so 文件的内容)

答案1

默认的 PHP 安装不是很有用。获取 OSX 标准 unix 软件包功能更齐全版本的最简单方法是使用 MacPorts 或 Fink。我个人更喜欢 MacPorts,尽管我认为大多数人更喜欢 Fink。

答案2

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

答案3

您需要使用参数运行 configure:

--with-pdo-mysql=/sw

/sw如果您使用 Fink。如果不使用 Fink,请将其更改为您的include/mysql.h和所在的路径lib/libmysqlclient.lalocate mysql.h会有所帮助)。

如果您只想将 PDO 扩展添加到现有安装中,请下载 PHP 源,转到ext/pdo目录,运行:

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

这将为.so您创建并安装适当的文件。脚本将告诉您它放在哪里。有时它会弄错目录,因此请确保它extension_dir与您的php.ini.

答案4

如果pdo_sqlite扩展程序已经运行,则不需要重新安装pdo扩展程序本身——只需重新安装pdo_mysql扩展程序即可。

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

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

应该就这么简单。

相关内容