Intereting Posts

Драйверы PDO не имеют значения в Windows

php_pdo_mysql.dll в машине. Я установил extension=php_pdo.dll и extension=php_pdo_mysql.dll включенным в php.ini, но когда я проверил phpinfo() , драйвер PDO элемента не имеет значения .

а также я не могу найти информацию mysql в phpinfo (), но я установил extension=php_mysql.dll включен.

Что не так ?

У меня была такая же проблема, когда я обновился до PHP 5.4. я имел

 extension_dir = "ext" 

в php.ini и php -m начиналось нормально и сообщалось, что он загружал pdo_mysql, но когда я запускал phpinfo.php через apache, драйвер отсутствовал.

Я исправил это, изменив extension_dir на абсолютный путь . Я предполагаю, что он запутался при работе через Apache и сделал его относительно чего-то другого.

 ; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: extension_dir = "D:/php-5.4.11-Win32-VC9-x86/ext" 

попробуйте следующее: найдите это в своем php.ini и раскомментируйте extension_dir = "ext"

 ; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: extension_dir = "ext" 

Попробуйте php -m в консоли, он покажет ошибки запуска PHP.

Проверьте с помощью phpinfo (), чтобы убедиться, что путь для php.ini является тем же самым. На компьютерах с Windows обычно создается несколько экземпляров php.ini и вызывает путаницу.

Кроме того, вызов php из командной строки даст вам сообщение об ошибке с более подробной информацией о том, почему он не может быть загружен. Возможно, расширение, которое вы пытаетесь включить, несовместимо с вашей установкой PHP. т.е. это небезопасная dll с потокобезопасным двоичным кодом или существует несоответствие компилятора где-нибудь, где оба используются vc9 и vc6.

На Windows Server 2012, Apache 2.4, установка php 5.4, после того, как все остальное изменилось, это сработало …

 PHPIniDir "C:\php\" 

в

 PHPIniDir "C:/php/" 

… гух.

После изменения конфигурации php.ini необходимо перезапустить сервер Appche в службе Windows. Затем загрузится модуль расширения. используйте следующий код для проверки: <?php print_r(get_loaded_extensions());?>

У меня возникла эта проблема в Windows с использованием IIS. В моем php.ini были следующие разделы:

 [PHP_PDO_MYSQL] extension=php_pdo_mysql.dll [PHP_PDO] extension=php_pdo.dll 

Я просто взял [PHP_PDO_MYSQL] и [PHP_PDO] и поменял местами свои позиции, чтобы [PHP_PDO] появился первым. Я считаю, что порядок объявления важен!

Комментарий Михая в 2012 году гласит: «Попробуйте php -m в консоли, он покажет ошибки при запуске PHP». Это предложение оказалось наиболее полезным. Если в файле php.ini имеются какие-либо ошибки, диспетчер Windows PHP (IIS 8) не совсем понимает, что происходит с php.ini.

Перейдите в командную строку и введите php -m в командной строке. Всплывающее сообщение (предупреждение) сообщит вам о любых ошибках, и оно даст номера строк для этих проблем. В большинстве случаев моя единственная проблема заключалась в том, что я раскоментировал (удалил полуточку) на нескольких строках php.ini, где я НЕ должен был этого делать.

Еще один полезный совет для меня заключался в том, чтобы поместить полный путь для папки расширений (см. Комментарий выше Джереми Прайн), который помог с сообщениями о «отсутствующих DLL», появившихся в предупреждениях.

Я получил подсказки здесь:

http://wiki.cementhorizon.com/display/CH/Solution+-+Unable+to+load+dynamic+library+C+php+ext+php_mysql.dll+-+the+specified+module+could+not+be+ найденный

Я убедился, что я установил c:/php как переменную PATH, а затем переместил соответствующие DLL в каталог c:/php (из каталога c:/php/ext ).

Все работает для меня сейчас, хотя мне не совсем удобно перемещать вещи вокруг каталога php.

У меня была такая же проблема, и я был в тупике, пока не прочитал следующее:

http://www.artfulsoftware.com/php_mysql_win.html

Я запускаю PHP 5.2 с Apache 2.2. Исправить меня было скопировать файл libmysql.dll в мой каталог bin Apache.

Я бы порекомендовал следующий курс действий всем, у кого возникла эта проблема: 1) проверьте, чтобы загруженный файл конфигурации находился там, где вы думаете (т.е., что Apache не использует какой-либо по умолчанию php.ini) – phpinfo () предоставит ответ на этот вопрос 2), чтобы убедиться, что все нужные расширения находятся в папке php \ ext и включены в файл php.ini (самые популярные расширения просто нужно расколоть). 3) Попробуйте загрузить pdo_sqllite. Если это произошло в phpinfo () после перезапуска Apache, вы сузили проблему неспособности Apache загрузить необходимые расширения mysql. 4) Следуйте инструкциям в приведенной выше ссылке.

У меня тоже была эта пробема. У меня есть Apache / 2.2.22 (Win32) PHP / 5.3.23 на машине Windows 7. Мое решение меняло расширение extension_dir = C: \ Program Files (x86) \ PHP \ ext в файле php.ini на extension_dir = "C: \ Program Files (x86) \ PHP \ ext". Просто нужно было добавить кавычки.

Я также добавил каталог php в CLASSPATH.

убедитесь, что файлы pdo * .dll находятся в соответствующих местах в каталоге ОС, проверьте, что ссылки на эти файлы включены в php.ini, проверьте правильность вашей строки dbconnection, перезапустите apache

Ошибка PHP PDO не существует в 5.4

Неустранимая ошибка: Class 'DigitalToolBox \ PDO' не найден в C: \ SERVER \ www \ MyAPP \ DigitalToolBox \ MysqlConnectionTool.php в строке 19

вы можете видеть, что pdo загружен, потому что он находится в списке с этим коммандом:

 print_r(get_loaded_extensions()); 

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

 use PDO; 

IF ($ this-> works) $ voteForThis ++;

Если вы используете PHP Manager с IIS, выполните следующие действия:

  1. Откройте IIS (обычно я открываю его, вводя IIS в начале); Запустить IIS

  2. Дважды щелкните «Менеджер PHP»; Нажмите «Менеджер PHP».

  3. Нажмите «Включить или отключить расширение»; Включить / отключить расширение

  4. Прокрутите вниз, чтобы найти свой выбор (в моем случае php_pdo_mysqll.dll ) и нажмите «включить»; Прокрутите список до драйвера и включите

  5. После этого водитель должен появиться и работать. Включенный драйвер

  6. Готово! Надеюсь, это помогло кому-то, потому что другие ответы не сработали для меня.

PDO Drivers no value – ваши записи dll не могут быть упорядочены в файле php.ini. Проверьте список записей расширения dll.

 extension=php_pdo_mysql.dll 

записи должны быть размещены рядом со всеми записями pdo. Такой же как

 extension=php_mysql.dll 

записи должны быть размещены рядом со всеми без записей pdo.

Хмель это помогает.

В PHP 7.1 x64 на windows с apache 2.4 x64:

extension_dir = "ext" не работает для меня,

Абсолютный путь: extension_dir = "C: \ DEV \ PHP71 \ ext \" работал хорошо