我刚将我的网站部署到临时环境,并收到以下错误:
Fatal error: Class 'mysqli' not found in D:\ClientSites\baileyboiler.com\www\new\php\db.php on line 11
起初我认为MySQLI根本没有安装,但运行phpinfo()
会显示以下内容:
对我而言,看起来安装了MySQLI(尽管我读错了)。我该怎么办?
代码
class DB
{
public static function GetConnection()
{
return new mysqli(DBHOST, DBUSER, DBPASSWORD, DEFAULTDATABASE);
}
}
(第11行是return new mysql(...);
)
更新
我将extension=php_mysqli.dll
添加到位于/Windows/php.ini
的php.ini(根据phpinfo()
,这是正在加载的那个):
Loaded Configuration File C:\WINDOWS\php.ini
但错误仍然存在。我知道mysqli.dll存在于C:\php\ext
- 因为我可以看到该文件。现在怎么办?
答案 0 :(得分:3)
我通过启用/编辑php.ini
中的以下配置来纠正错误:
1st(取消注释并添加配置):
include_path = "C:\php\includes"
第二次(取消注释):
extension_dir = "ext"
3(取消注释并编辑配置):
extension=D:/PHP/ext/php_mysql.dll
extension=D:/PHP/ext/php_mysqli.dll
答案 1 :(得分:1)
确保在php.ini下启用,只需找到php_mysqli.dll并删除分号并重新启动apache
答案 2 :(得分:0)
Christian Mark是对的,但我认为它需要:
4rd将php.ini复制到“C:\ Windows”。在我的计算机上,需要将其复制到“C:\ Windows”,因为phpinfo()输出“配置文件(php.ini)路径:C:\ Windows”和“加载配置文件:C:\ Windows \ php.ini”
第5次登出计算机并登录。
然后它适合我。
如果我不做4,5rd,它也不适用于我,phpinfo输出include_path不是我配置的。和extension_di也没有。运行测试也行不通。