PHP/Apache : PHP Fatal error: Call to undefined function mysql_connect()

标签 php mysql apache

我有 MySQL (5.5.23 Community Server)、Apache (2.2) 和 PHP (5.3.13) 在 Fedora 15 机器(64 位)上运行。每个都可以独立运行。

我认为 PHP 已配置/编译为与 MySQL 一起使用,但是当我尝试加载任何进行 MySQL 调用的 PHP 网页时,我得到了上面提到的 fatal error (在 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 下工作,尽管理想情况下我' d 只是更喜欢让现有的安装工作。

最佳答案

如果其他人遇到这种情况,这是 PHP 无法访问 mysql 客户端库的情况。在系统上拥有 MySQL 服务器不是正确的解决方法。修复 ubuntu(和 PHP 5):

sudo apt-get install php5-mysql

安装客户端后,应重新启动网络服务器。如果您使用的是 apache,以下应该可以工作:

sudo service apache2 restart

关于PHP/Apache : PHP Fatal error: Call to undefined function mysql_connect(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15346605/

相关文章:

php - 复杂的多维循环到表中

php - .NET 还是 PHP,企业还是开源?

mysql - 用户 'root@localhost' 的访问被拒绝(使用密码 :NO)

PHP Mysql 搜索前缀

apache - 我们可以在 apache 中向 http 请求注入(inject)请求参数吗

java - phpCAS - 调用 HTTP ://and not HTTPS://

Java Socket 监听 PHP 客户端不工作

PHP-mysql_fetch_array 不返回任何内容

php - 为什么 index.html 优先于 index.php?

wordpress - .htaccess 用两个变量重写 url