0
我正在使用SSHTunnelForwarder連接遠程數據庫,我在Anaconda
環境中運行以下代碼,命令lind python客戶端並且工作正常。SSHTunnelForwarder在python命令行中工作正常,但在Apache WSGI應用程序中引發導入錯誤
with SSHTunnelForwarder(
('ip', 22),
ssh_password="pass",
ssh_username="name",
remote_bind_address=('localhost', 3306)) as server:
#connect DB
的問題是,當我部署相同的代碼在與mod_wsgi的Apache2的一個WSGI應用程序,我得到了錯誤:
ImportError: /home/user/anaconda2/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so: undefined symbol: X509_get_signature_nid
我認爲這是因爲Apache已出口LD_LIBRARY_PATH
,這不是/home/user/anaconda2/lib/
。然後我修改了文件/opt/lampp/bin/envvars
最後加了一行export LD_LIBRARY_PATH=/home/user/anaconda2/lib
。然後我重新啓動了Apache,但仍然出現了相同的錯誤。
是否還有其他我忽略的env變量?
我看,沒有辦法走動? – franky
如果不使用它,請不要加載mod_ssl。或者使用mod_wsgi-express替代運行單獨的實例並設置面向Apache的Apache(使用mod_ssl)來代理它。或者不要使用Anaconda Python,而應該使用系統Python,它應該使用與Apache使用的相同的SSL庫。 –