У кого-нибудь были проблемы с подключением к базе данных sybase с использованием sybase_connect в PHP, работающей как плагин nagios?
Мой скрипт отлично работает под тем же пользователем nagios в командной строке, но если я запускаю его через nagios, он никогда не сможет подключиться к базе данных, sybase_connect всегда возвращает ложный соединитель, а sybase_get_last_message будет пустым.
Я проверил настройки среды и, хотя я делаю, но единственное, что я вижу, — переменная SYBASE, возможно, не установлена
putenv ("SYBPLATFORM=linux");
putenv ("LC_ALL=default");
putenv ("DSQUERY=SYBASE");
putenv ("SYBASE=/usr/local/freetds");
putenv ("LD_LIBRARY_PATH=/usr/local/freetds/lib");
putenv ('PATH=/usr/local/freetds/bin'); // With this on or off makes no difference
$connector = sybase_connect ( "HOST-IN-FREETDS", "USER", "PASSWORD" );
if ($connector === false) {
// Always falls into here if run via nagios, works if run as the same user from the command line
}
Я сравнил настройки, запустив:
$return = `set`;
trigger_error ($return, E_USER_NOTICE);
И проверил журнал ошибок php, я также поместил phpinfo в файл и сделал diff при запуске вручную и через nagios.
Окружающая среда — Ubuntu LTS 14.04, Nagios Core 4.0
Любые идеи кто-нибудь? заранее спасибо
Задача ещё не решена.
Других решений пока нет …