我的PHP脚本在台Synology断绝返回此:致命错误:调用未定义的函数从腻子mysqli_connect
PHP Fatal error: Call to undefined function mysqli_connect()`.
mysqli的是安装在服务器上,并已通过浏览器在脚本中使用过很多次。我不明白为什么mysqli_connect()
应该是未定义的。我该如何解决这个问题?
我的PHP脚本在台Synology断绝返回此:致命错误:调用未定义的函数从腻子mysqli_connect
PHP Fatal error: Call to undefined function mysqli_connect()`.
mysqli的是安装在服务器上,并已通过浏览器在脚本中使用过很多次。我不明白为什么mysqli_connect()
应该是未定义的。我该如何解决这个问题?
创建一个php文件,并有代码<?php phpinfo(); ? >检查是否显示mysqli部分。它应该以HTML表格格式显示以下字符串。
的mysqli
mysqli的支持启用
如果mysqli的不可用,则需要启用它在php.ini /与APACHEE配置时间。
是共享主机,有人wud禁用它意外地。 – Senthil
是的,我已经做到了,mysqli已启用,并且它不是共享主机。 –
做到这一点 - >不知道它可能会改变,即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
网络版和CLI版本使用不同的php.ini文件。
你可以找出哪些INI文件是使用下面的命令
php -i | grep php.ini
然后配置这个php.ini文件,使之支持mysqli的。
通过运行此从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
[致命错误的可能重复:电话到未定义的函数mysqli \ _connect()](http://stackoverflow.com/questions/2719243/fatal-error-call-to-undefined-function-mysqli-connect) – 4444