2010-03-31 18 views
5

Estoy tratando de probar la implementación del partido 3d de Cybersource. Logré que los archivos de prueba funcionaran bien desde la línea de comandos, lo que requiere que en Linux exporte la ruta de las bibliotecas de pago a LD_LIBRARY_PATH.Configuración de LD_LIBRARY_PATH en Apache PassEnv/SetEnv todavía no se puede encontrar la biblioteca

para tratar de probar esto en mi servidor He creado la configuración de Apache a continuación

<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> 

yo he dado la variable de entorno no con el comando SetEnv, que parece estar funcionando cuando funciono una página que se imprime

<?php phpinfo(); ?> 

sin embargo, la escritura de la prueba cuando se llama a través del navegador todavía no trabajará, apache dice:

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 

por lo que no se puede encontrar el archivo vinculado libspapache.so aunque está en el LD_LIBRARY_PATH que se supone que está definido

Realmente aprecio la ayuda. muchas gracias.

Respuesta

1

SetEnv es una cuestión por solicitud, por lo que no afecta el contexto en el que se ejecuta el FCGIWrapper. Desea utilizar FcgidInitialEnv o FcgidCmdOptions para establecer variables en el entorno del contenedor.

+0

gracias! eso fue todo, aunque estoy usando una versión anterior de FastCGI, así que era DefaultInitEnv en lugar de FcgidInitialEnv – JiminyCricket

Cuestiones relacionadas