PHP/Apache: PHP 致命错误: 调用未定义的函数 mysql_connect()
我有MySQL(5.5.23 Community Server),Apache(2.2)和PHP(5.3.13)在Fedora 15机器(64位)上运行。每个工作本身都没有问题。
我以为PHP被配置/编译为与MySQL一起使用,但是当我尝试加载任何进行MySQL调用的PHP网页时,我得到了上面注明的致命错误(在Apache错误日志中)。PHP本身可以正常工作,通过Apache和命令行。
当我从命令行运行php -i时,果然它显示了所有的MySQL位和片段,但是当我加载一个显示phpinfo()的页面时,没有提到MySQL模块。
我也尝试过在php.ini中取消注释“extension=mysql.so”,但PHP随后抱怨“PHP启动:无法加载动态库(即使模块确实驻留在那里)。[更正:所述错误实际上是由于拼写错误,但从命令行运行表明该模块已经加载 - PHP有一个警告说。'/usr/lib64/php/modules/mysql.so'."
我还禁用了 SELinux;多次停止/重新启动Apache;嗯,MySQL-Devel,以防万一它有任何不同;而且,似乎还有其他所有可能的事情。
如果我从命令行运行一个小的PHP测试脚本,访问MySQL数据库,那么它就可以毫无问题地工作,所以PHP确实知道MySQL,但是当它在Apache下运行时,它似乎不知道MySQL甚至存在。
几个月来,我一直在断断续续地试图解决这个问题,似乎已经尝试了一切,但似乎没有任何效果。
如果我真的有必要,我不介意重新安装PHP,如果有人可以演示使用MySQL支持配置/编译的正确方法,这样我就可以让它在Apache下工作,尽管理想情况下,我只是希望让现有的安装工作。