Class 'mysqli' not found PHP v5.6.7
Auf meinem Windows 7-Rechner mit PHP v5.6.7 und MySQL v5.6.23, und mit PHPStorm 8, ich bin versucht zu instanziieren Sie ein mysqli-Objekt. Wenn ich versuche, bekomme ich:
Fatal error: Class 'mysqli' not found in...
Habe ich auch diesen test ausführen, vorgeschlagen hier:
if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
echo 'no mysqli :(';
} else {
echo 'we gots it';
}
Ausgabe:
no mysqli :(
Lese ich hier, dass dieses problem manchmal verursacht, wenn es sieht für die mysqli-Klasse in einem namespace. Ich habe meinen code um dies zu korrigieren, aber das Problem weiterhin besteht
$mysqli = new \mysqli($host, $userName, $password, $database);
Habe ich gelesen, dass dieses problem wird manchmal verursacht, wenn die mysqli-Erweiterung ist nicht aktiviert. Allerdings bin ich mit der PHP-version 5.6.7, und die mysqli-extension ist standardmäßig aktiviert, Versionen 5.3 und höher (je nach hier).
Nur um sicher zu sein, ich habe überprüft, dass php.ini-development
und php.ini-production
haben extension_dir = "C:/PHP/php-5.6.7/ext"
und habe das Semikolon entfernt von den Linien:
extension=php_mysql.dll
extension=php_mysqli.dll
[Weitere Informationen]
Ich fand ein test, um zu laufen und laut phpinfo() ist es nicht das laden einer Konfigurations-Datei:
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
Für einige Grund, die PHPStorm-web-server ist nicht auf der Suche nach php.ini an der richtigen Stelle?
Habe ich diese Einstellung in der "Interpreter-Optionen" pro diese:
--php-ini C:\PHP\php-5.6.7\php.ini
Habe ich verifiziert, dass dies der richtige Weg.
- Ich denke, die php.ini-development files sind nur Vorlagen, die Sie kopieren sollten, die Sie wollen auf Basis Ihrer Konfiguration aus und legen Sie es als angemessen, wo PHP die eigentliche Datei;
php.ini
- Haben Sie alle Dienste neu gestartet nach den änderungen an system-Dateien? Plus, haben Sie versucht
$mysqli = new mysqli ...
ohne slash? - scrowler, danke für die Anregung. Das habe ich getan, aber es scheint ein Fehler beim Parsen der php.ini-Datei. Ich bin dabei einige mehr Forschung, bevor die Bearbeitung meiner Frage. Fred -ii-, ich glaube, dass PHP nicht einen Laufenden Prozess, der neu gestartet werden muss. Ich glaube, PHPStorm automatisch neu startet seine interne webserver -, die zwischen läuft. Ich werde versuchen, einen Neustart des comp zu achten. Ich habe in der Tat versucht es mit und ohne der \.
- Ich bin auf Wamp und ich erinnere mich, ich hatte nach dem Neustart mein system, um es Arbeit nach der Installation. Könnte das gleiche hier.
- Ich war gerade dabei, zu schweigen, wenn Sie ging durch Ihre Checkliste jetbrains.com/phpstorm/help/php-built-in-web-server.html und Punkt #4.
- Tut
php -i
sagen, dass mysqli aktiviert ist? - awons, ja, es tut report aktiviert
- Fred -ii - I-Tat, in der Tat nehmen Sie diese Schritte
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie das PHP-Verzeichnis zu Sie Umgebung Weg
installation directory; *** denken Sie daran, den Pfad separator
Überprüfen Sie auch diesen Eintrag in deiner php.ini