ORA-12154 PHP OCI8 горе - PullRequest
       2

ORA-12154 PHP OCI8 горе

1 голос
/ 07 декабря 2011

Сконфигурировал сервер CentOS 5.6 с Oracle 11g XE (бесплатная версия), установил OCI8 с помощью этого руководства и получил уже существующее (пользовательское) приложение PHP, без проблем связывающееся с базой данных , Позвонил этому серверу Dev и запустил следующую сборку.

Сервер Prod, над которым я сейчас работаю, похож на Dev, за исключением того, что Oracle 11G является стандартной версией, а не бесплатной версией. Все остальное, насколько я знаю, идентично. Определенно те же самые обороты OCI.

Предупреждение: ocilogon () [function.ocilogon]: ORA-12154: TNS: не удалось разрешить идентификатор подключения, указанный в /var/www/html/blah/blah.php

Я уверен, что у меня есть "экологическая" проблема, но я не могу понять, как ее решить.

Oracle, Apache, OCI8 и PHP находятся в одном окне.

Что работает:

  • tnsping orcl с сервера Prod.
  • sqlplus user@orcl от производителя сервер.
  • phpconfig(); показывает все содержимое OCI8. Сравнил результаты на Dev и Prod и они идентичны.
  • Я также могу подключиться через жабу от клиента XP на другом конце VPN.

Я просто могу не заставить PHP общаться с БД. Сводит меня с ума!

Сделал глобальный поиск на сервере Prod, есть только один файл tnsnames.ora. Вот как это выглядит:

ORCL = (ОПИСАНИЕ =
(ADDRESS = (PROTOCOL = TCP) (HOST = localhost.localdomain) (PORT = 1521))
(CONNECT_DATA =
(СЕРВЕР = ВЫДЕЛЕНО) (SERVICE_NAME = orcl)
))

Что-нибудь, что я должен предоставить, это помогло бы? Просто оставьте комментарий.

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

[редактирование]
Наверное, он не находит слушателя. Из любопытства я остановил службу прослушивания и подтвердил, что ничего об ошибке не меняется.

По запросу вот какой-то код.

Код, который выдает ошибку, о которой я упоминал выше:

$dbh = OCILogon($vars[oracle_login], $vars[oracle_pwd], $vars[oracle_instance]);

Переменные заданы в другом файле:

...

Но мы можем пропустить это. Копируя и вставляя их сюда, я воспользовался моментом, чтобы выстроить скобки - и нашел дополнительное.

Опечатка!

Doh. /facepalm.

1 Ответ

0 голосов
/ 07 декабря 2011

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

Исправление, которое решило проблему.

Извините за все чтение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...