2010-03-31 9 views
5

Próbuję przetestować implementację strony 3d Cybersource. Udało mi się uzyskać prawidłowe działanie plików testowych z wiersza poleceń, co wymaga, aby w systemie Linux wyeksportować ścieżkę do bibliotek płatności do LD_LIBRARY_PATH.Ustawienie LD_LIBRARY_PATH w Apache PassEnv/SetEnv nadal nie mogę znaleźć biblioteki

spróbować przetestować to na moim serwerze Stworzyłem config apache poniżej

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

mam ustawić zmienną env tam z polecenia setenv, który wydaje się działać, kiedy prowadzisz stronę, która drukuje

<?php phpinfo(); ?> 

jednak skrypt testu, gdy wywołana przez przeglądarkę wciąż przyzwyczajenie praca, apache mówi:

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 

, więc nie można znaleźć połączonego pliku libspapache.so, mimo że jest w LD_LIBRARY_PATH, który jest rzekomo zdefiniowany

Naprawdę doceniam pomoc. Dzięki wielkie.

Odpowiedz

1

SetEnv jest rzeczą na żądanie, więc nie ma wpływu na kontekst, w którym działa FCGIWrapper. Chcesz użyć FcgidInitialEnv lub FcgidCmdOptions, aby ustawić zmienne w otoczeniu opakowania.

+0

dzięki! to było to, chociaż używam starszej wersji FastCGI, więc to było DefaultInitEnv zamiast FcgidInitialEnv – JiminyCricket