无法让 PHP 在 Vista 64 上与 MySQL 一起工作
我正在运行 Vista 64 机器,并尝试使用 IIS7 设置 Joomla(我喜欢 Joomla,我想在我的网站上有一些 asp.net 组件,所以这就是我想使用 IIS7 而不是 Apache 的原因)。这是我第一次安装 PHP 和 MySQL,所以很可能我做错了什么……尽管我认为我尝试了足够多的诊断步骤(如下所述),对我来说没有什么明显的错误……
我安装了 PHP(32 位,5.2.8),这似乎工作正常:我得到了一个test.php在 IIS7 服务的网页中显示 phpinfo 的程序。
我还安装了 MySQL(32 位,5.1.31,从http://dev.mysql.com/downloads/mysql/5.1.html#win32下载)。这似乎也可以正常工作(我可以使用 MySQL Administrator 连接到它)。
我已经设置php.ini了什么不打开 MySQL 扩展。如果我从命令行执行 PHP -m,我会在列表中看到 MySQL。但是,对于 phpinfo(来自命令行 (PHP -info) 或通过 IIS(在test.php文件中)提供服务),没有 MySQL 部分。因为 MySQL 甚至没有出现在 PHP 的命令行调用中,所以我认为这与 IIS 没有任何关系——只是在 vista 上安装了 MySQL 和 PHP。
我没有安装 MySQL 64 位,因为我安装了 32 位 PHP,并且由于 MySQL 32 位似乎工作正常,我认为这不是问题。似乎没有官方的 64 位 PHP 版本,所以这就是我安装它的原因(同样,它似乎工作正常)。
我目前禁用了 UAC,所以这不是问题。
如果我在我的 then 中将分号放回 extension=php_mysql.dll 的前面,php.ini则在运行 PHP -m 时,MySQL 模块不会出现。如果我再把它拿出来,它就会出现。所以我至少可以确定我正在修改 right php.ini。
我已经复制了libeay32.dll,libmysql.dll和php_mysql.dllto c:\windows\system32。我已将它们取出,这似乎对 PHP -m 的输出没有影响(即,如果模块未注释,MySQL 仍会显示在那里php.ini)。
我还尝试将 DLL ibeay32.dll、libmysql.dll和php_mysql.dllto复制到c:\windows\sysWOW64;这没有什么区别。
似乎最小的积极步骤是在从命令行运行 PHP -info 时出现 MySQL。还有什么我应该尝试弄清楚为什么 MySQL 出现在 PHP -m 而不是 PHP -info 中的原因吗?或者我是否偏离了使用它来衡量 PHP 是否可以与 MySQL 对话的轨道?