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

В этих случаях вы должны придерживаться getElementById(), например:

document.getElementById('example').innerHTML

IE любит смешивать элементы с атрибутами name и ID в глобальное пространство имен, поэтому лучше всего указать, что вы пытаетесь получить.

29
задан danorton 4 June 2014 в 22:31
поделиться

16 ответов

У меня тоже была эта проблема. У меня есть 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.

0
ответ дан thecla_032 4 June 2014 в 22:31
поделиться

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

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

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

print_r(get_loaded_extensions()); 

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

use PDO;

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

0
ответ дан 4 June 2014 в 22:31
поделиться

У меня была такая же проблема при обновлении до 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"
61
ответ дан takteek 4 June 2014 в 22:31
поделиться

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

.
0
ответ дан Bruno 4 June 2014 в 22:31
поделиться

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

extension=php_pdo_mysql.dll

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

extension=php_mysql.dll

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

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

1
ответ дан Mohamed Mohaideen AH 4 June 2014 в 22:31
поделиться

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

http://wiki.cementhorizon.com/display/CH/Solution+-+Unable+to+load+dynamic+library+C+php+ext+ php_mysql.dll + - + указанный + модуль + не может + не быть + найден

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

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

0
ответ дан axel22 4 June 2014 в 22:31
поделиться

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

2
ответ дан Alexander 4 June 2014 в 22:31
поделиться

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

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

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

2
ответ дан fracz 4 June 2014 в 22:31
поделиться

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

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

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

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

1
ответ дан user2014597 4 June 2014 в 22:31
поделиться

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

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

4
ответ дан Steve Buzonas 4 June 2014 в 22:31
поделиться

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

PHPIniDir "C:\php\"

на

PHPIniDir "C:/php/"

... да.

6
ответ дан Machavity 4 June 2014 в 22:31
поделиться

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

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

  2. Дважды щелкните «PHP Manager»; Click PHP Manager

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

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

  5. После этого драйвер должен появиться и работать. Enabled driver

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

1
ответ дан Bono 4 June 2014 в 22:31
поделиться

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

7
ответ дан Mihai Iorga 4 June 2014 в 22:31
поделиться

У меня была эта проблема в 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] вышел первым. Я думаю, что порядок декларации важен!

2
ответ дан Jeremy Prine 4 June 2014 в 22:31
поделиться

В PHP 7.1 x64 на окнах с apache 2.4 x64:

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

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

3
ответ дан Łabudziński Piotr 4 June 2014 в 22:31
поделиться

попробуйте следующее: найдите это в своем 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"
9
ответ дан Matías Cánepa 4 June 2014 в 22:31
поделиться