Здесь очень простая для объяснения проблема (по крайней мере, после борьбы с ней и ее упрощения почти до абсурда).
Я делаю соединение через драйвер OCI внутри файла с именем what.Test.php. Просто сделайте простой запрос и выйдите. Затем я вызываю файл из браузера, и данные, взятые из базы данных, отображаются правильно. Следующий шаг: я запускаю PHPUnit для того же файла со следующим результатом:
PHP Warning: oci_connect(): ORA-12154: TNS:could not resolve the connect identifier specified in ...
Есть идеи?
Окончательное решение было немного очевидным, когда я его придумал. Каким-то образом сервер мог определить, к какому серверу я пытался подключиться, через файл tnsnames.ora, я думаю. Однако, поскольку выполнение сценария не запускает все процессы сервера, оттуда эта информация больше не была доступна. Итак, мне нужно было предоставить все данные в параметре oci_connect () $ connection_string, используя формат [//]host_name[:port][/service_name][:server_type][/instance_name]
(проверить документацию). Ранее я давал только часть host_name.
(В любом случае спасибо за ваш ответ, пользователь *).
Других решений пока нет …