2010-03-31 6 views
5

Sto provando a testare l'implementazione della parte 3d di Cybersource. Sono stato in grado di far funzionare correttamente i file di test dalla riga di comando, il che richiede che su Linux esporti il ​​percorso delle librerie di pagamento su LD_LIBRARY_PATH.Impostazione di LD_LIBRARY_PATH in Apache PassEnv/SetEnv non è ancora possibile trovare la libreria

per cercare di provare questo sul mio server ho creato la configurazione di Apache sotto

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

ho impostato la variabile ENV lì con il comando SetEnv, che sembra funzionare quando ho eseguito una pagina che consente di stampare

<?php phpinfo(); ?> 

tuttavia lo script di test quando viene chiamato tramite il browser ancora non funzionerà, 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 

quindi non può trovare il file collegato libspapache.so anche se è in LD_LIBRARY_PATH che è presumibilmente definito

ho davvero apprezzato l'aiuto. grazie mille.

risposta

1

SetEnv è una cosa per richiesta, quindi non influisce sul contesto in cui viene eseguito il FCGIWrapper. Si desidera utilizzare FcgidInitialEnv o FcgidCmdOptions per impostare le variabili nell'ambiente del wrapper.

+0

grazie! era, anche se Im usando una versione precedente di FastCGI quindi era DefaultInitEnv invece di FcgidInitialEnv – JiminyCricket