![](/img/trans.png)
[英]Call to undefined function mysqli_connect() in my Linux cPanel server?
[英]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.