Как узнать, почему OCI8 по-разному ведет себя с php_fpm и php_cli?

В настоящее время я работаю над проектом PHP Symfony 3.4, и я подключаюсь с OCI8 к Oracle BDD. Кроме того, в той же среде я запускаю файл .php из командной строки и подключаюсь к Oracle bdd из него.

Я использую OID для подключения к базе данных в моем приложении Symfony и моем скрипте .php. Вот как я подключаюсь:

$conn = oci_connect('USERNAME', 'PASSW', 'OID_BDNAME');

Где OID_BDNAME - имя базы данных в OID.

И он отлично работает из сценария .php, но я не могу заставить его работать в моем приложении Symfony, и вот ошибка:

ORA-12154: TNS:could not resolve the connect identifier specified

Обе командной строки php и php fpm используют /etc/php.ini (я проверял с phpinfo(); и $ php --ini)

У вас есть идея, почему OCI8 по-разному ведет себя с php_fpm и php_cli и как это решить? Спасибо

В PHP OCI8 должны быть установлены некоторые переменные среды, чтобы он мог находить библиотеки и файлы конфигурации Oracle. Я ожидаю, что вы установили их в своей оболочке, но они не устанавливаются при запуске PHP-FPM. Какое программное обеспечение Oracle у вас установлено и какие переменные среды?

Christopher Jones 19.07.2018 07:56

Спасибо за Ваш ответ. У меня Oracle 56 и ORACLE_HOME и TNS_ADMIN установлены и доступны как для php-fpm, так и для php_cli

TheMackou 19.07.2018 09:41

Определите «доступный». Как именно вы устанавливаете эти значения?

Christopher Jones 20.07.2018 08:13

Спасибо. Я устанавливаю их в файле fastcgi_params, и они тоже экспортируются, и он отлично работает с php_cli

TheMackou 25.07.2018 14:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
141
0

Другие вопросы по теме