Установите расширение ingres для php на моем сервере WAMP - PullRequest
0 голосов
/ 18 июля 2011

У меня есть компьютер для разработки, который работает под Windows.

Для проекта я должен создать php-сайт, который должен подключаться к серверу баз данных Ingres.

Итак, я установил wamp, установил ingres (сервер и клиент на своей локальной машине).

Я добавил библиотеку, найденную на их сайте (php_ingres.dll) в папку C:\wamp\bin\php\php5.3.5\ext, и добавил строку "extension=php_ingres.dll" в файл конфигурации.

Я выключил wamp и перезапустил его, и я перезапустил сервер, теперь я вижу галочку в меню wamp, указывающую, что php_ingres теперь активирован. Но когда я захожу на страницу приветствия сервера, я не вижу это расширение загруженным. Если я захожу на страницу с информацией о php, я не вижу записи Ingres в команде Configure.

Я просто не могу найти ни одного post/tutorial/..., в котором указано, как выполнить эту операцию, поэтому любая помощь будет признательна!

Спасибо!

Редактировать: Я провел небольшой тест, чтобы проверить, могу ли я подключиться к базе данных Ingres:

    <?php
$link = ingres_connect("localhost", "demodbtest", "demodbtest")  or die("Connexion impossible");
echo "Connexion réussie";

$result = ingres_query($link,"select * from airline");

while ($row = ingres_fetch_array($result)) {
    echo $row["al_iatacode"];  // utilisation du tableau associatif
    echo $row["al_name"];
    echo $row["al_ccode"];          // utilisation du tableau à indices numériques
    echo "</br>";
}
ingres_close($link);
?>

И я получаю эту ошибку:

(!) Неустранимая ошибка: вызов неопределенной функции ingres_connect () в C: \ wamp \ www \ tests \ index.php в строке 2

Некоторая информация о моей установке: У меня Windows 7 Pro 32bit Wampserver 2.1 (http://sourceforge.net/projects/wampserver/files/WampServer%202/WampServer%202.1/WampServer2.1e-x32.exe/download) Apache 2.2.17
PHP 5.3.5
Ingres 10.1.0 Community Edition (скачать здесь: http://esd.ingres.com/product/Community_Projects/Ingres_Database/Windows_32-Bit/Ingres_10.1_Build_121/ingres-10.1.0-121-gpl-win-x86-NoDoc.zip/http) Драйверы PHP скачаны здесь: http://esd.ingres.com/product/drivers/PHP/Windows_32-Bit/PHP_Driver

Ответы [ 3 ]

0 голосов
/ 19 июля 2011

Дважды проверьте настройки extension_dir и фактический используемый файл php.ini. Вызов php.exe -i из командной строки может не дать такой же вывод при выполнении phpinfo() в скрипте через Apache (или IIS). Фактически http://www.wampserver.com/en/faq.php говорит, что есть 3 потенциальных php.ini сценария.

0 голосов
/ 06 сентября 2011

Проблема в том, что у меня не было установленного клиента ingres локально, поэтому кажется, что эта библиотека не может работать без него

0 голосов
/ 18 июля 2011

Чтобы практически проверить, было ли загружено расширение, вы также можете вызвать одну из его функций. Если расширение было загружено, вы не должны получить фатальную ошибку для отсутствующей функции. Это, пожалуй, одна из самых быстрых проверок.

Другой проверкой является использование extension_loaded * PHP Manual **, который выдаст вам список всех загруженных расширений. Для получения дополнительной информации см. Ссылку на руководство по PHP выше.

Настраиваемая строка

В строке конфигурации не будет показано расширение ingres, поскольку оно не скомпилировано. Это совершенно нормально, поскольку вы загружаете его как расширение (.dll), поэтому оно не является частью php.exe. Вот почему вы не видите его в строке конфигурации.

Расположение ingres на странице phpinfo ().

На странице phpinfo() используйте функцию поиска в вашем браузере (часто CTRL+F) и попробуйте найти слово ingres. Вы должны найти раздел, который отображает настройки расширений по умолчанию, если он был загружен.

Ниже приведен пример снимка экрана для расширения xdebug. Для ingres это может выглядеть примерно так:

Successfully installed xdebug extension (Screenshot) Изображение из: Запуск xdebug в Eclipse застрял на 57% - Как решить проблему?

...