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库。 –