2天,我正试图解决这个问题,但遗憾的是没有结果.让我告诉你我关于这个问题的故事.我在网站上建立了一个应用程序,该应用程序处理评论.但是,我试图将它放在另一个站点上,我从旧站点复制了php文件,sql文件,并将它们移动到新站点(它们位于不同的FTP服务器上).当我试图从应用程序转到页面时,我收到此致命错误:
致命错误:调用未定义的函数mysqli_connect()
我写的连接数据库的代码就是这个(隐藏凭证):
$con = mysqli_connect("","*the_name*","*the_pass*","*the_database*");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
Run Code Online (Sandbox Code Playgroud)
为什么我会收到错误?它适用于旧服务器,代码我认为这不是问题,因为它适用于localhost,而新服务器则不适用.谁能帮我?
Dav*_*yer 28
如果您自己托管服务器,请在php.ini文件中删除扩展名extension = php_mysqli.dll前面的分号
Joã*_*ira 15
只需这样做
sudo apt install php-mysqli
它完美无缺,并且与版本无关
在Ubuntu上我不得不安装php5 mysql扩展.
apt-get install php5-mysql
如果您已安装该模块并正确设置 PHP.INI 文件,请检查您的 apache 错误日志是否有类似以下内容:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\php\\ext\\php_mysqli.dll' - The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您的扩展目录并不是您想象的那样。您可能需要明确设置它,如下所示:
extension_dir="C:\xampp\php\ext"
Run Code Online (Sandbox Code Playgroud)
小智 6
默认情况下没有使用php扩展时发生.在您的php.ini文件中,更改
;extension=php_mysql.dll
为extension=php_mysql.dll.
**如果此错误记录,则添加此dll文件的路径,例如,
extension=C:\Php\php-???-nts-Win32-VC11-x86\ext\php_mysql.dll
为php_mysqli.dll和执行相同操作php_pdo_mysql.dll.再次保存并运行代码.