Уважаемые все! Прошу помощи. Я новичок в PHP, но сделать надо как всегда срочно. На моём компьютере установлены Windows XP, Apache и Firebird/Interbase. В книжке Криса Ньюмана описано, как подключаться из PHP-скрипта к любой базе данных. Мне надо к Interbase. PEAR установил: pear.bat install DB пробую подключиться к базе в режиме и командной строки или запросом из адресной строки Internet Explorera php -f sayib.php http://127.0.0.1/Outlook/sayib.php Сам скрипт: <?php include "db.php"; $dsn = "ibase://SYSDBA:masterkey@/./outlook"; $db=DB::connect($dsn); if (DB::isError($db)) { echo $db->getMessage(); exit; }; ?> Получаю ответ: DB Error: extension not found Что делать? О каком расширении речь? Interbase? Так я в system32 записал файл gds32.dll. PEAR? Так я его установил с помощью go-pear.bat.
PEAR:B - лишь программная оболочка для унификации подключения к базам - на самом деле, используются всё те же extensions из PHP - вам нужно подключить тот, который отвечает за работу FireBird(возможно, что PDO драйвер, не уверен). Я думаю, вам стоит посмотреть документацию к PEARB
в php.ini нужно раскомментировать строку: Код (Text): extension=php_interbase.dll и, если будете использовать PDO, добавить: Код (Text): extension=php_pdo_firebird.dll естественно, перед этим проверить наличие этих самых библиотек в папке расширений php. если нет - добавить или скачать полный дистрибутив php (хотя сомневаюсь, что этих библиотек там не будет). перезапустить апач
Спасибо за советы. Раскомментировал в PHP.INI. Но: 1)Использую командную строку, поэтому перезапуск Apacha необязателен. Или обязателен? 2) Теперь другая ошибка: PHP Fatal error: Call to a member function beginTransaction() on a non-object in C:\Program Files\Apache2\htdocs\Outlook\fbi.php on line 5 Я так понимаю, что новый объект класса PDO не создался, не смотря на то, что никакая ошибка при этом не фиксируется, программа бежит дальше и при попытке запустить метод класса интерпретатор PHP.EXE высвечивает эту ошибку. А вообще, как отлаживать PHP скрипты?
выводить переменные, массивы, прогонять функции... например как я делаю: http://www.php.ru/forum/viewtopic.php?t=1629&start=20