2016-09-17 133 views
2

我的PHP脚本在台Synology断绝返回此:致命错误:调用未定义的函数从腻子mysqli_connect

PHP Fatal error: Call to undefined function mysqli_connect()`.

mysqli的是安装在服务器上,并已通过浏览器在脚本中使用过很多次。我不明白为什么mysqli_connect()应该是未定义的。我该如何解决这个问题?

+0

[致命错误的可能重复:电话到未定义的函数mysqli \ _connect()](http://stackoverflow.com/questions/2719243/fatal-error-call-to-undefined-function-mysqli-connect) – 4444

回答

-2

创建一个php文件,并有代码<?php phpinfo(); ? >检查是否显示mysqli部分。它应该以HTML表格格式显示以下字符串。

的mysqli

mysqli的支持启用

如果mysqli的不可用,则需要启用它在php.ini /与APACHEE配置时间。

+0

是共享主机,有人wud禁用它意外地。 – Senthil

+0

是的,我已经做到了,mysqli已启用,并且它不是共享主机。 –

+0

做到这一点 - >不知道它可能会改变,即php.ini,可能是在php.ini中的问题。这是/etc/php/php.ini文件中的一个简单的随机语法错误。运行php -m后找到它。参考:https://bbs.archlinux.org/viewtopic.php?id = 152355。参考2:https://bbs.archlinux.org/viewtopic.php?id = 138131。 Atlast检查最后登录的用户是谁。 – Senthil

0

网络版和CLI版本使用不同的php.ini文件。

你可以找出哪些INI文件是使用下面的命令

php -i | grep php.ini 

然后配置这个php.ini文件,使之支持mysqli的。

2

通过运行此从CLI(从腻子):
php70 --ini
我印刷的通过使用PHP INI文件列表。

我发现,Web服务器正在使用
/usr/syno/etc/packages/WebStation/php70/conf.d/user_settings.ini
而CLI不会使用该文件。它仅使用
/usr/local/etc/php70/php.ini

所以,我不得不几行添加到该文件:
sudo vi /usr/local/etc/php70/php.ini

这里是行补充:

extension = mysqli.so 
extension = pdo_mysql.so 
相关问题