проверен файл php.ini «extension = php_pdo_mysql.dll», но все же ошибка

Я проверил файл php.ini, что расширения включены:

extension=php_pdf.dll extension=php_pdo.dll extension=php_pdo_firebird.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll 

но все же, когда я пытаюсь открыть страницу, она дает ошибку

500 | Внутренняя ошибка сервера | PropelException Не удалось открыть PDO-соединение [wrapped: не удалось найти драйвер]

что мне теперь нужно делать? устранить эту ошибку

благодаря

Related of "проверен файл php.ini «extension = php_pdo_mysql.dll», но все же ошибка"

  • Узнайте, какой драйвер PDO вам действительно нужен (MySQL, MS SQL …?)

  • Проверьте, создав экземпляр PDO самостоятельно, чтобы избежать ошибок в другом месте:

    $db = new PDO('mysql:host=127.0.0.1;dbname=testdb', 'username', 'password');

Если вы все еще получаете «не можете найти драйвер», теперь вы можете быть уверены, что вам действительно не хватает его 🙂

Как установить его, если у вас его нет, многое зависит от вашей системы. Например, в Debian Linux вам нужно выполнить apt-get install php5-mysql , который устанавливает расширения mysql , mysqli и pdo_mysql .

После его установки убедитесь, что он включен в php.ini . убедитесь, что вы редактируете правильный файл – тот, который используется вашим веб-сервером.

После этого, чтобы проверить правильность загрузки расширения, выполните следующие действия:

  • создайте скрипт, который выполняет phpinfo() . Вы должны увидеть раздел PDO с ключевыми PDO-драйверами и значением, например « mysql, pgsql », или

  • запустите php -m из командной строки, и вы, например, увидите pdo_mysql .

Php_pdo_mysql.dll в каталоге расширения может пытаться загрузить libmysql.dll или mysql.dll, который по умолчанию находится в каталоге php (я думаю, что они по крайней мере в моем php-каталоге, но я установил его так давно Не помните, были ли они там по умолчанию или я их скопировал). Если в php-каталоге нет вашего PATH, эти последние dll не будут найдены и вызывают ошибку.

Я бы предложил проверить, что libmysql.dll и / или mysql.dll находятся в вашем каталоге php. Если это так, добавьте ваш php-каталог в PATH вашей системы и REBOOT на свой компьютер. У меня была та же проблема, добавлен каталог php на путь системы, перезапущен Apache, и проблема не была решена. Мне нужно было перезагрузиться, прежде чем Apache / PHP найдет dll в каталоге php.

Альтернативой является копирование libmysql.dll и mysql.dll в каталог, поиск по умолчанию (это каталог Windows или, возможно, каталог Window \ System32). Когда php_pdo_mysql.dll будет загружен, он сможет найти зависимые dll.

Если эти две библиотеки не находятся в вашем php-каталоге, попробуйте загрузить и установить MySQL. Вы можете найти эти DLL среди файлов, установленных моим установщиком MySQL.

Если вы используете Apache, он должен сообщать в журнале ошибок, что он не может загрузить php_pdo_mysql.dll. Если нет, возможно, он сообщает о другой ошибке при запуске. Проводка любых ошибок из журнала может быть полезной для диагностики.

Надеюсь это поможет.

В php.ini установите следующее, чтобы проверить, есть ли проблема с загрузкой расширений.

 display_startup_errors = On 
  • У меня были проблемы в прошлом, когда, несмотря на то, что DLL находилась в каталоге php / ext /, и, несмотря на правильность установки php-пути, мне пришлось указать абсолютный путь к расширению.

  • Проверьте журналы ошибок Apache, чтобы увидеть, была ли проблема с загрузкой расширения

Вы работаете с командной строкой?

Часто в командной строке и PHP в браузере используются разные файлы PHP.ini.

Используйте phpinfo (), чтобы проверить модули, включенные в borwser. Используйте PHP -m, чтобы увидеть модули, установленные через CLI