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

InformationsquelleAutor Don Subert | 2015-04-08
Schreibe einen Kommentar