我刚刚在 Windows XP 上安装了 Apache 2.2.17、PHP 5.2.14 和 MySQL 5.1.51。Apache 可以正常工作,并且可以正确加载 PHP,但是当我尝试连接到 MySQL 时,出现“致命错误:调用未定义的函数 mysql_connect()”。经过一番谷歌搜索后,我发现需要加载 php_mysql.dll 扩展,而该扩展需要 libmysql.dll。我在 MySQL 发行版中找到了 libmysql.dll 文件,但找不到 php_mysql.dll。
为什么它没有包含在 PHP 或 MySQL 中?我在哪里可以找到它?
答案1
文件http://windows.php.net/downloads/releases/php-5.2.14-Win32-VC6-x86.zip下载自http://windows.php.net/download/确实包含 php_mysql.dll。它位于“ext”子目录中。
您需要将其重命名php.ini-recommended
为php.ini
。然后,编辑php.ini
并确保extension_dir
指向正确的目录,即包含 php_mysql.dll 的目录,例如c:\php\ext
。此外,搜索该行;extension=php_mysql.dll
并取消注释以启用扩展。
最后,该文件libmysql.dll
应该在 Windows 系统 PATH 中可用。最简单的方法是将安装 PHP 的目录添加到 PATH。
请记住在更改 php.ini 后重新启动 Apache。希望这能有所帮助!
答案2
MySQL 不再默认启用,因此必须在 php.ini 中启用 php_mysql.dll DLL。此外,PHP 需要访问 MySQL 客户端库。Windows PHP 发行版中包含一个名为 libmysql.dll 的文件,为了让 PHP 与 MySQL 通信,该文件需要可用于 Windows 系统 PATH。有关如何执行此操作的信息,请参阅常见问题解答“如何将我的 PHP 目录添加到 Windows 上的 PATH”。虽然将 libmysql.dll 复制到 Windows 系统目录也有效(因为系统目录默认位于系统的 PATH 中),但不建议这样做。