使用运行为nagios插件的PHP中的sybase_connect连接到sybase数据库是否有任何问题?
我的脚本在命令行上的同一个nagios用户下运行完美但如果我通过nagios运行它永远不能连接到数据库,sybase_connect总是返回一个假连接器,sybase_get_last_message是空的。
我检查了环境设置,即使我正在做,putenv我唯一能看到的是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推送到一个文件,并在手动和通过nagios运行时完成了差异。
环境 - Ubuntu LTS 14.04,Nagios Core 4.0
任何想法?提前致谢