我正在尝试测试 Cybersource 3d 派对的实施。我能够从命令行让测试文件运行良好,这要求在 Linux 上我将支付库的路径导出到 LD_LIBRARY_PATH。
为了尝试在我的服务器上进行测试,我在下面创建了 apache 配置
<VirtualHost 127.0.0.1:12345>
AddHandler cgi-script .cgi
AddHandler fcgid-script .php .fcgi
FCGIWrapper /my/path/to/php_fcgi/bin/php-cgi .php
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
DocumentRoot /my/path/to/cybersource/simapi-php-5.0.1/
ProxyPreserveHost on
<Directory /my/path/to/cybersource/simapi-php-5.0.1>
SetEnv LD_LIBRARY_PATH /my/path/to/cybersource/LinkedLibraries/lib/
AllowOverride all
Options +Indexes
IndexOptions Charset=UTF-8
</Directory>
</VirtualHost>
我已经使用 SetEnv 命令在那里设置了 env 变量,当我运行打印的页面时它似乎正在工作
<?php phpinfo(); ?>
然而,当通过浏览器调用测试脚本时仍然无法工作,apache 说:
tail /my/apache/error_log
[Tue Mar 30 23:11:46 2010] [notice] mod_fcgid: call /my/path/to/cybersource/index.php with wrapper /my/path/to/cybersource/php_fcgi/bin/php-cgi
PHP Warning: PHP Startup: Unable to load dynamic library '/my/path/to/cybersource/extensionsdir/php5_cybersource.so' - libspapache.so: cannot open shared object file: No such file or directory in Unknown on line 0
所以它无法找到链接文件 libspapache.so 即使它在应该定义的 LD_LIBRARY_PATH 中
我真的很感激帮助。非常感谢。