oci_connect Blank Page в PHP

ОБНОВЛЕНИЕ (5/21/2010) УСПЕХ!

Таким образом, после БОЛЬШОГО КОЛИЧЕСТВА $head-> стол () 'луг, я решил его.

Помните детей, опасаться мгновенной версии клиента, которую Вы используете, зависящий от настроек виртуализации!

Я устанавливал универсальный Мгновенный Клиент (не знающий, что наши серверы ESX находятся на процессорах AMD, не Intel), и это хорошо работало внутренне (установка CentOS была 32-разрядной, так как наши внутренние серверы ESXI не являются 64-разрядными). Хорошо о чудо, даже если у Вас есть 32-разрядная установка, работающая на виртуализированном сервере, который находится на AMD64, все еще имеет значение, какой мгновенный клиент Вы устанавливаете.

Это была последняя вещь я думавший проверить, но как это появляется, все хорошо работает теперь.

Я хотел бы благодарить всех, кто помог мне пробежать каждый возможный тест для понимания этого, но в конце, это был мой отказ для того, чтобы не осознавать различия в виртуализации.


ОБНОВЛЕНИЕ (5/21/2010), я думал эта ошибка, вышло из меня, когда я установил его на новом VM внутренне, но я теперь нашел сужающуюся ссылку.

Я пытался установить это на нашем рабочем сервере, когда я отправил это. После недели никакого прогресса и нуждающийся для возвращения к разработке я снабдил оборудованием VM на нашем внутреннем сервере с совершенно новой установкой Дерьма... CentOS и новые установки мгновенного клиента и oci8.

Работавший отлично.

Однако мы просто загрузили точную копию VM к нашим рабочим серверам, и он волшебно больше не работает. Испытанная переустановка всего, никакой пользы.

Так единственные вещи я мог сузить его к, проблема брандмауэра (хотя я получаю ту же проблему при попытке 127.0.0.1), или возможно ESX (наши рабочие серверы) проблема сервера, внутренние серверы выполняют ESXI.

Какие-либо мысли?

ОБНОВЛЕНИЕ (3/8/2010) я установил Xdebug, и имейте его прослеживающий мой код. Это - вывод, который я получаю:

TRACE START [2010-03-08 17:53:05]
    0.2090     327864   -> {main}() /data/aims3/http/octest.php:0
    0.2091     327988     -> ini_set(string(14), string(1)) /data/aims3/http/octest.php:3
    0.2093     327920     -> error_reporting(long) /data/aims3/http/octest.php:4
    0.2094     328048     -> oci_connect(string(8), string(8), string(25)) /data/aims3/http/octest.php:6

Трассировка останавливается в той точке.

Я установил все тот же путь на локальном сервере, и он хорошо работает. Для высказывания я в полной растерянности, поместил бы его слегка.


*ПРИМЕЧАНИЕ: Я работал, делают тест, и он возвратил СБОЙ на каждом тесте. Я никогда не выполнял это на своей рабочей машине, чтобы видеть, сообщает ли она о тех же ошибках. Какая-либо идея, почему делают тест отчетом, ПРИВЕЛА БЫ К СБОЮ, но сделала бы, не сообщает никакая ошибка?

Я установил Oracle Instantclient без ошибок, о которых сообщают, наряду с пакетом OCI8 PECL и в недоумении. Каждый раз, когда я пытаюсь открыть соединение с oci_connect, это останавливает мой весь Сценарий PHP.

ПРИМЕР:

<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
echo "before";
$conn = oci_connect("username", "password", "host");
echo "after";
?>

Возвращает полную пустую страницу. Модуль загружается (замеченный в phpinfo) и все установленное без ошибок.

Я в полной растерянности.

CentOS: 5.4

Apache: 2.2.3

PHP: 5.3.1

InstantClient: 11.2

oci8: 1.4.1

Какие-либо мысли?

Примечания

Журнал ошибок Apache ни о чем не сообщает

Предпринятая отладка:

1:

<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
echo "before";
if(!function_exists('oci_connect')) die('Oracle Not Installed');
echo "after";
?>

Возвраты:

beforeafter

2:

Изменение хоста//хост

Возвраты:

Та же ошибка

5
задан Charles 24 December 2012 в 21:21
поделиться

5 ответов

Исправлено. Подробности см. Вверху, но вот примечания: среды виртуализации имеют значение.

0
ответ дан 15 December 2019 в 00:58
поделиться

вы подключаетесь к удаленной или локальной базе данных? я думаю, что для localhost вы должны заменить «host» на «false». Надеюсь, это поможет вам ...

edit: я думаю, вам не хватает параметра ... мои последние предложения: 1. вы должны установить порт (по умолчанию 1521) И / ИЛИ 2. Вы должны ввести имя базы данных И / ИЛИ необходимо установить имя экземпляра (параметр ORACLE_SID)

0
ответ дан 15 December 2019 в 00:58
поделиться

Есть что-нибудь в error_log Apache? Это mod_php, FastCGI или обычный CGI PHP? Что произойдет, если вы запустите сценарий через командную строку?

Вы также можете попробовать установить журнал ошибок PHP и заглянуть туда.


EDIT1 : Попробуйте:

echo "before";
if(!function_exists('oci_connect')) die('Oracle Not Installed');

И опубликуйте результаты ...


EDIT2: Я действительно не уверен. Лучше всего использовать эту информацию из руководства по PHP :

Самая распространенная проблема с установкой OCI8 - это неправильная настройка среды Oracle . Это обычно появляется как проблема при использовании oci_connect () или oci_pconnect (). Ошибка может быть ошибкой PHP, такой как вызов неопределенной функции oci_connect (), ошибкой Oracle, такой как ORA-12705, или даже Apache крушение. Проверьте файлы журнала Apache на наличие ошибок при запуске и просмотрите разделы выше, чтобы решить эту проблему.

У кого-нибудь еще есть идеи помочь Брайану?

3
ответ дан 15 December 2019 в 00:58
поделиться

Вы никогда не проверяете возвращаемое значение oci_connect () и не вызываете oci_error (), но это не имеет отношения к вашей проблеме, поскольку вы, кажется, страдаете от сбой PHP. В RHEL есть открытая ошибка, которая также может повлиять на вас:

http://pecl.php.net/bugs/bug.php?id=16626

Вы сами собрали пакет oci8? Вы используете сторонний двоичный файл?

0
ответ дан 15 December 2019 в 00:58
поделиться

Брайан,

Я буду честен: я пробовал это два года назад и потерпел неудачу. :) Я не мог заставить работать функции OCI ни на что, компилируя себя.

Но чтобы добиться этого, я искал альтернативное решение и нашел его в Zend Core для Oracle. Все, что я сделал, это загрузил, запустил установщик, и все готово. Он устанавливает для вас Apache / PHP, MySQL (необязательно) и InstantClient.

Теперь, как Zend Server, это в основном тот же продукт. Я понимаю, что это может быть не то решение, на которое вы надеялись, но если оно сработает ...

Zend Server

1
ответ дан 15 December 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: