ODBC_connect запускается только с пользователем psql - PullRequest
0 голосов
/ 08 июня 2018

У меня есть скрипт php, который запрашивает данные из базы данных odbc (распространяющийся клиент).

Когда я запускаю скрипт в CLI как пользователь psql (который создал установщик), то у меня нет проблем искрипт запускается.

Когда я запускаю скрипт в браузере (как www-данные) или в CLI как root или как cronjob, я получаю сообщение об ошибке:

PHP Warning:  odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib '/usr/local/psql/lib64/libodbcci.so' : file not found, SQL state 01000 in SQLConnect in /var/ww....

я добавилпользователь www-data & root в группах, которые установил распространяющийся клиент.

Все работает на сервере Debian.

1 Ответ

0 голосов
/ 11 июня 2018

Решение, как показано в комментариях -

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

Это было достигнуто с помощью шеллскрипта для полной задачи.

...