无法通过Nginx / php-fpm连接Sybase,但还是可以使用shell php执行

时间:2014-03-11 03:20:59

标签: php nginx sybase

我有一个连接到sybase的php脚本。在shell(使用root / www / sybase)中,它运行良好并且能够连接到sybase:

    /usr/local/php/bin/php /www/test.php            ------STEP 1

然而,当我通过浏览器访问它时:firefox http:// [domain-name] /test.php,它无效:

sybase_connect() /www/test.php:120 test: Failed to connect to TEST004 ---STEP 2

我错过了nginx的env设置吗?请帮忙。

  • PHP和Nginx工作正常,http:// [domain-name] /index.php很好。
  • 安装了sybase的PHP扩展(sybase_ct),步骤1确认没问题。

1 个答案:

答案 0 :(得分:0)

好的,我想出来了。 问题是环境问题。 需要在我的PHP代码中手动设置它们。

    putenv ("SYBASE=/opt/sybase");
    putenv ("SYBASE_ASE=ASE-15_0");
    putenv ("SYBASE_OCS=OCS-15_0");
    putenv ("SYBASE_WS=WS-15_0");
    putenv ("SYBROOT=/opt/sybase");
    putenv ("SYBPLATFORM=linux");
    putenv ("LD_LIBRARY_PATH=/usr/local/freetds/lib");
    putenv ("LC_ALL=default");
    putenv ('PATH=\"/usr/local/freetds/bin:$PATH\"');
    putenv ("DSQUERY=LOCALHOST");

如果使用freeTDS,则相应地修改键和值。