I am trying to test the Cybersource 3d party implementation. I was able to get the test files running fine from the command line, which requires that on Linux I export the path to the payment libraries to LD_LIBRARY_PATH.
to try to test this on my server I have created the apache config below
<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>
I have set the env variable there with SetEnv command, which seems to be working when i run a page that prints
<?php phpinfo(); ?>
however the test script when called through the browser still wont work, apache says:
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
so it cant find the linked file libspapache.so even though it is in the LD_LIBRARY_PATH that is supposedly defined
i really appreciate the help. thanks so much.
SetEnv
is a per-request thing, so it doesn't affect the context that the FCGIWrapper
runs under. You want to use FcgidInitialEnv or FcgidCmdOptions to set variables in the environment of the wrapper.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With