繁体   English   中英

为什么mysqli_connect()是我的PHP服务器上的“未定义函数”?

[英]Why is mysqli_connect() an “undefined function” on my PHP server?

我在Linux服务器上使用PHP版本5.3.3。 当我尝试使用mysql_connect()或mysqli_connect()到达数据库时,出现错误消息:

致命错误:调用未定义函数mysql_connect()

要么

致命错误:调用未定义函数mysqli_connect()

您可以在此处查看我的测试页面: http : //gorp.osg.ufl.edu/BOT3151/testing.php

您可以在此处查看phpinfo页面: http : //gorp.osg.ufl.edu/phptest.php

相关的配置命令在这里:

'--with-mysql=shared,/usr' '--with-mysqli=shared,/usr/lib64/mysql/mysql_config' '--with-pdo-mysql=shared,/usr/lib64/mysql/mysql_config'

它还表示正在解析这些.ini文件:

/etc/php.d/mysql.ini /etc/php.d/mysqli.ini

php.ini文件还包括以下几行:

extension=mysql.so extension=mysqli.so

那么,这里出了什么问题? 服务器上未正确安装mySQL吗? 我怎样才能解决这个问题?

附录:我应该解释说这是在我不管理的共享服务器上。 我只能通过SFTP访问服务器上的文件夹。 但是我确实有一个php.ini文件,并且我有一个扩展文件夹。 那么,这是我可以自己解决的问题,还是需要服务器管理员的帮助?

尝试通过以下方式安装PHP MySQL:

apt-get install php5-mysql

然后,可以使用PHP和Apache设置轻松设置MySQL。 如果已经安装了MySQL,则可以先将其卸载,然后尝试在终端中通过以上代码安装PHP MySQL。

这是最简单的方法,无需任何设置。

未加载“ mysqli”扩展名。 您无法在phpinfo()文件中看到此部分。

http://gorp.osg.ufl.edu/phptest.php

您应该在该页面上看到以下内容: https : //drive.google.com/open?id=0B7VdYIkRLxQWaDRLYVNLeU84am8

仅因为您取消注释了extension=mysqli.so ,并不意味着它将加载。 mysqli.so文件可能不在PHP所寻找的文件夹中,或者根本不存在。

在您的php.ini文件中检查“ extension_dir”。 然后去看看文件mysqli.so是否实际存在。

您是否重新启动了Web服务器?

鉴于您的PHP信息页面未列出显示MySQL配置的部分,因此可以推断可能未在您的服务器上安装MySQL。

我面临着类似的问题。 php.ini文件中的默认值存在一些问题。 如果以上给出的答案未能解决您的问题,请查看答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM