Class 'mysqli' 未找到 PHP v5.6.7
Class 'mysqli' not found PHP v5.6.7
在我的 Windows 7 机器上,使用 PHP v5.6.7 和 MySQL v5.6.23,并使用 PHPStorm 8,我试图实例化一个mysqli 对象。当我尝试时,我得到:
Fatal error: Class 'mysqli' not found in...
我也运行这个测试,建议here:
if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
echo 'no mysqli :(';
} else {
echo 'we gots it';
}
输出为:
no mysqli :(
我读到 here 这个问题有时是在它在命名空间中查找 mysqli class 时引起的。我更改了代码以更正此问题,但问题仍然存在
$mysqli = new \mysqli($host, $userName, $password, $database);
我了解到这个问题有时是在未启用 mysqli 扩展时引起的。但是,我使用的是 PHP 5.6.7 版,mysqli 扩展在 5.3 及更高版本上默认启用(根据 here)。
为了确定,我已经验证 php.ini-development
和 php.ini-production
有 extension_dir = "C:/PHP/php-5.6.7/ext"
并且从行中删除了分号:
extension=php_mysql.dll
extension=php_mysqli.dll
[附加信息]
我找到了 运行 的测试,根据 phpinfo() 它没有加载配置文件:
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
出于某种原因,PHPStorm Web 服务器没有在正确的位置寻找 php.ini?
我在 "Interpreter options" 中有这个设置 this:
--php-ini C:\PHP\php-5.6.7\php.ini
我已经验证这是正确的路径。
你有没有把PHP安装目录添加到你的环境路径
- 从开始菜单右键单击我的电脑
- 点击属性
- 查找高级系统设置
- 点击环境变量
- 在系统变量下找到 PATH 添加 C:\php 用你的 PHP 替换 C:\php
安装目录; *** 记住路径分隔符
同时在您的 php.ini
中检查此条目
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "c:/php/ext"
scrowler 和 Michael Bush 在上面的评论中指出了答案。我想我会为查看线程的人创建一个答案。谢谢,scrowler 和 Michael Bush。
php.ini-development
和 php.ini-production
文件是模板。为了生效,需要复制其中一个并重命名php.ini
.
在我的 Windows 7 机器上,使用 PHP v5.6.7 和 MySQL v5.6.23,并使用 PHPStorm 8,我试图实例化一个mysqli 对象。当我尝试时,我得到:
Fatal error: Class 'mysqli' not found in...
我也运行这个测试,建议here:
if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
echo 'no mysqli :(';
} else {
echo 'we gots it';
}
输出为:
no mysqli :(
我读到 here 这个问题有时是在它在命名空间中查找 mysqli class 时引起的。我更改了代码以更正此问题,但问题仍然存在
$mysqli = new \mysqli($host, $userName, $password, $database);
我了解到这个问题有时是在未启用 mysqli 扩展时引起的。但是,我使用的是 PHP 5.6.7 版,mysqli 扩展在 5.3 及更高版本上默认启用(根据 here)。
为了确定,我已经验证 php.ini-development
和 php.ini-production
有 extension_dir = "C:/PHP/php-5.6.7/ext"
并且从行中删除了分号:
extension=php_mysql.dll
extension=php_mysqli.dll
[附加信息] 我找到了 运行 的测试,根据 phpinfo() 它没有加载配置文件:
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
出于某种原因,PHPStorm Web 服务器没有在正确的位置寻找 php.ini?
我在 "Interpreter options" 中有这个设置 this:
--php-ini C:\PHP\php-5.6.7\php.ini
我已经验证这是正确的路径。
你有没有把PHP安装目录添加到你的环境路径
- 从开始菜单右键单击我的电脑
- 点击属性
- 查找高级系统设置
- 点击环境变量
- 在系统变量下找到 PATH 添加 C:\php 用你的 PHP 替换 C:\php 安装目录; *** 记住路径分隔符
同时在您的 php.ini
中检查此条目; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "c:/php/ext"
scrowler 和 Michael Bush 在上面的评论中指出了答案。我想我会为查看线程的人创建一个答案。谢谢,scrowler 和 Michael Bush。
php.ini-development
和 php.ini-production
文件是模板。为了生效,需要复制其中一个并重命名php.ini
.