我在 Fedora 15 机器(64 位)上运行 MySQL(5.5.23 社区服务器)、Apache(2.2)和 PHP(5.3.13)。每个都可以自己正常工作。
我认为 PHP 已配置/编译为与 MySQL 一起使用,但是当我尝试加载任何进行 MySQL 调用的 PHP 网页时,我收到上述致命错误(在 Apache 错误日志中)。PHP 可以通过 Apache 和命令行自行运行。
当我从命令行运行 php -i 时,它确实显示了所有 MySQL 的点点滴滴,但是当我加载显示 phpinfo() 的页面时,没有提到任何 MySQL 模块。
我也尝试在 php.ini 中取消注释“extension=mysql.so”,但 PHP 然后抱怨“PHP 启动:无法加载动态库'/usr/lib64/php/modules/mysql.so'."
(即使模块确实驻留在那里)。但我不是完全确定是否需要取消注释该行。[更正:所述错误实际上是由于拼写错误,但从命令行运行显示模块已经加载 - PHP 发出警告这么说。]
我还禁用了 SELinux;多次停止/重新启动 Apache;yummed MySQL-Devel,以防它有什么不同;而且,似乎所有其他可能的事情。
如果我从命令行运行一个小的 PHP 测试脚本来访问 MySQL 数据库,那么它可以正常工作,所以 PHP 确实知道 MySQL,但是当它在 Apache 下运行时,它似乎不知道 MySQL 是否存在。
几个月来我一直在尝试解决这个问题,似乎已经尝试了一切,但似乎没有任何效果。
如果我真的必须重新安装 PHP,我不介意重新安装 PHP,如果有人可以演示使用 MySQL 支持配置/编译的正确方法,以便我可以让它在 Apache 下工作,尽管理想情况下我更喜欢使现有的安装工作。