2010-03-31 6 views
5

J'essaie de tester l'implémentation de la partie Cybersource 3d. J'ai réussi à faire fonctionner correctement les fichiers de test à partir de la ligne de commande, ce qui nécessite que sous Linux j'exporte le chemin vers les bibliothèques de paiement vers LD_LIBRARY_PATH.La définition de LD_LIBRARY_PATH dans Apache PassEnv/SetEnv ne peut toujours pas trouver la bibliothèque

pour tenter de le tester sur mon serveur, j'ai créé la config apache ci-dessous

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

J'ai la variable d'env là avec commande SetEnv, qui semble fonctionner quand je lance une page qui imprime

<?php phpinfo(); ?> 

mais le script de test lorsqu'il est appelé par le navigateur encore de ne fonctionnera pas, apache dit:

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 

donc il ne peut pas trouver le fichier lié libspapache.so même si elle est dans le LD_LIBRARY_PATH qui est censé être défini

J'apprécie vraiment l'aide. Merci beaucoup.

Répondre

1

SetEnv est une requête par requête, donc cela n'affecte pas le contexte dans lequel s'exécute FCGIWrapper. Vous souhaitez utiliser FcgidInitialEnv ou FcgidCmdOptions pour définir des variables dans l'environnement de l'encapsuleur.

+0

merci! c'était bien, même si Im utilisant une ancienne version de FastCGI, il était DefaultInitEnv au lieu de FcgidInitialEnv – JiminyCricket

Questions connexes