В настоящее время я работаю над проектом 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 и как это решить? Спасибо
Спасибо за Ваш ответ. У меня Oracle 56 и ORACLE_HOME и TNS_ADMIN установлены и доступны как для php-fpm, так и для php_cli
Определите «доступный». Как именно вы устанавливаете эти значения?
Спасибо. Я устанавливаю их в файле fastcgi_params, и они тоже экспортируются, и он отлично работает с php_cli






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