#php #wamp #firebird
#php #wamp #firebird
Вопрос:
Это моя конфигурация:
- Windows 7 64 бит
- 64-разрядный сервер WAMP 2.2 с PHP 5.4.3 (загружается с официального сайта).
- Firebird 1.5.6 для управления базой данных (мне нужна эта версия, потому что более новые версии не открывают мои базы данных). Эта программа имеет только 32-разрядную версию (загружается с официального сайта).
Вот код для подключения к базе данных FDB. Но когда я пытаюсь выполнить код, я получаю сообщение об ошибке: «Фатальная ошибка: вызов неопределенной функции ibase_connect() в …»
Я пытаюсь:
- Активируйте php_interbase.dll расширение (WAMP-> PHP-> Расширения PHP->php_interbase.dll ).
- Добавьте переменную среды в Windows в папку PHP.ini.
- Добавьте переменную среды в Windows в папку Firebird.
- Используйте Firebird 2.5 64 бит.
- Отредактируйте файл php.ini, удалив точку с запятой в строке ;extension=php_interbase.dll .
- Выполните следующие действия.
И все работает. Я получаю ту же ошибку. После каждого совета, который я пытаюсь выполнить, очевидно, я перезапускаю WAMP.
Примечание: когда я выполняю (на странице PHP) extension_loaded («interbase»), я всегда получаю false . Когда расширение загружено и когда оно не загружено. Я думаю, что это проблема, но как я могу ее решить?
Спасибо!
Комментарии:
1. Если вы хотите, чтобы более новая версия Firebird открывала вашу базу данных, вам необходимо сделать резервную копию в Firebird 1.5.6 и восстановить ее с помощью новой версии Firebird. Технически Firebird должен иметь возможность открывать базы данных более старых версий (хотя в более старых версиях могут быть проблемы с 32-разрядной <> 64-разрядной), но резервное копирование и восстановление обеспечат обновление базы данных до более новой структуры на диске.
Ответ №1:
Взглянув на загрузки SourceForge для firebird, я вижу, что единственная загрузка версии 1.5.6 — это 32-битная компиляция.
Это не будет выполняться на 64-битном сервере WAMP, поскольку это означает, что Apache / PHP extensions / MySQL были скомпилированы с помощью 64-битного компилятора.
Если вам нужно запустить эту версию firebird, вам нужно будет загрузить 32-битный сервер WampServer, потому что 32-битный Firebird не будет взаимодействовать с 64-битным расширением firebird PHP.
Нет никакой реальной выгоды от запуска 64-битного сервера WampServer, т.Е. Apache / PHP / MySQL, это действительно только для гиков. Фактически 64-битный PHP все еще описывается как экспериментальный на веб-сайте PHP, поскольку он еще не был полностью перенесен на 64-битный.
Комментарии:
1. Технически это должно работать, если установлена 64-разрядная клиентская библиотека и указан путь к библиотеке, а соединение осуществляется через TCP / IP (а не прямое / собственное соединение).