Na moim komputerze z Windows 7, z PHP v5.6.7 i MySQL v5.6.23 i przy użyciu PHPStorm 8, próbuję utworzyć instancję obiektu mysqli. Kiedy próbuję, dostaję:Nie znaleziono klasy "mysqli" PHP v5.6.7
Fatal error: Class 'mysqli' not found in...
Mam również uruchomić ten test, zasugerował here:
if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
echo 'no mysqli :(';
} else {
echo 'we gots it';
}
Wyjście jest:
no mysqli :(
czytam here, że ten problem jest czasami spowodowane, gdy szuka klasy mysqli w przestrzeni nazw. Zmieniłem kod, aby rozwiązać ten problem, ale problem nadal występuje
$mysqli = new \mysqli($host, $userName, $password, $database);
Czytałem, że ten problem jest czasami spowodowany tym, że rozszerzenie mysqli nie jest włączona. Jednak używam PHP w wersji 5.6.7, a rozszerzenie mysqli jest domyślnie włączone w wersjach 5.3 i nowszych (zgodnie z here).
tylko aby mieć pewność, że sprawdzeniu, php.ini-development
i php.ini-production
mają extension_dir = "C:/PHP/php-5.6.7/ext"
i mają średnika usuwane z linii:
extension=php_mysql.dll
extension=php_mysqli.dll
[dodatkowe] mogę znaleźć test prowadzony i zgodnie z phpinfo() nie ładuje plik konfiguracyjny:
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
z jakiegoś powodu, serwer wWW PHPStorm nie szuka php.ini we właściwym miejscu?
mam to ustawienie w opcji „tłumacza” na this:
--php-ini C:\PHP\php-5.6.7\php.ini
I sprawdzeniu, że jest to właściwa droga.
Myślę, że pliki php.ini-development to tylko szablony, powinieneś skopiować ten, na którym chcesz oprzeć swoją konfigurację i umieścić ją w odpowiednim miejscu, gdzie PHP będzie szukało rzeczywistego pliku; 'php.ini' –
Czy zrestartowałeś wszystkie usługi po wprowadzeniu jakichkolwiek zmian w plikach systemowych? Plus, czy wypróbowałeś '$ mysqli = new mysqli ...' bez slasha? –
Scrowler, dziękuję za sugestię. Zrobiłem to, ale wydaje się, że wystąpił błąd podczas analizy pliku php.ini. Przed edycją mojego pytania robię więcej badań. Fred -ii-, Wierzę, że PHP nie ma uruchomionego procesu, który musi zostać zrestartowany. Wierzę, że PHPStorm automatycznie uruchamia ponownie swój wewnętrzny serwer sieciowy między kolejnymi uruchomieniami. Spróbuję ponownie uruchomić komputer, aby się upewnić. Rzeczywiście próbowałem go zi bez \. –