Я пытаюсь загрузить драйвер pdo для базы данных Firebird на Windows Server 2016 (64 бита).
Конфигурация следующая:
- Firebird успешно установлен в 32 бита.
- Apache 2.4 успешно установлен (двоичный файл Apachelounge, 32 бита).
- Правильно настроена конфигурация Apache (установлена в C: / Apache24)
- PHP 32 бита успешно установлен (в C: / PHP) как модуль с mod_php (обработчик apache 2.0).
В качестве доказательства:
Результат phpinfo
Я могу выполнить файл PHP. Теперь я хочу установить драйвер PDO, чтобы иметь простой способ подключения к базе данных Firebird.
Я следовал процедуре, найденной в Интернете (раскомментируйте extension=php_pdo_firebird.dll
в php.in
и добавьте fb.client.dll
в C/apache24/bin
и c/php
) и проверил, правильно ли установлен PDO с помощью этой команды:
php -m|findstr -i pdo_
Что показывает мне: PDO_Firebird
Но когда я вызываю функцию phpinfo в файле test.php
, это не показывает, что какой-либо драйвер PDO был загружен. Там написано:
PDO drivers : no values.
, что странно, потому что для PHP драйвер есть.
Поэтому после некоторых исследований в Интернете я попробовал следующие вещи, которые не работали:
- Добавление
C/PHP
и C:/Apche24/bin
в путь
- Копирование
fbclient.dll
в C:/Apache/bin
, C:/PHP
и даже в C:/PHP/ext
- В
php.ini
раскомментировать строку "extension_dir = "ext""
- Для той же строки изменяется значение от
"ext"
до "C:/PHP/ext"
- Перезапуск сервера после всего этого
При попытке подключиться к базе данных firedbird с помощью php-файла я получаю сообщение об ошибке:
Неустранимая ошибка: Uncaught PDOException: не удалось найти драйвер в C: \ Apache24 \ htdocs \ test3.php: 10
Трассировка стека: # 0 C: \ Apache24 \ htdocs \ test3.php (10): конструкция PDO -> __ ('firebird: dbname ...', 'SYSDBA', 'masterkey', Array) # 1 {main} брошено в C: \ Apache24 \ htdocs \ test3.php в строке 10
Конечно, я не мог использовать драйвер PDO и использовать расширение FB / IB, но я не хочу.
Любая помощь или совет приветствуются.
Для fb.client.dll это была просто ошибка, на самом деле имя файла - fbclient.dll.
Для php_interbase.dll я получил его в папке php / ext. Я также попытался добавить расширение = php_interbase.dll в файл php.ini, теперь, когда я печатаю в cmd:
php -m | findstr -i pdo_
Я получил следующие вещи:
- PDO
- PDO_Firebird
Но все же с помощью функции phpinfo () я получаю «нет значения» для драйверов PDO даже после перезапуска Apache.
php --ini показать это:
Файл конфигурации (php.ini) Путь: C: \ Windows
Загруженный файл конфигурации: C: \ PHP \ php.ini
Сканирование дополнительных файлов .ini в: (нет)
Проанализированы дополнительные файлы .ini: (нет)
И путь к php.ini, который я редактировал, - C: \ PHP \ php.ini