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», появившихся в предупреждениях.
Я получил подсказки здесь:
Я убедился, что я установил 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, выполните следующие действия:
Откройте IIS (обычно я открываю его, вводя IIS в начале);
Дважды щелкните «Менеджер PHP»;
Нажмите «Включить или отключить расширение»;
Прокрутите вниз, чтобы найти свой выбор (в моем случае php_pdo_mysqll.dll
) и нажмите «включить»;
После этого водитель должен появиться и работать.
Готово! Надеюсь, это помогло кому-то, потому что другие ответы не сработали для меня.
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 \" работал хорошо