我正在尝试在基于 wsgi(apache + Flask)的网站中使用 python 库。
在独立命令脚本中使用该库时,我必须将库路径添加到 LD_LIBRARY_PATH
所以这适用于独立脚本:
# export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
# python script.py
现在,当我尝试通过 Apache+wsgi 使用这个 python 库时,我需要将相同的路径传递给 apache 工作人员。我怎样才能做到这一点?
您已编译并安装的 Python 模块扩展是否需要该库?如果是的话,设置LD_RUN_PATH
编译和安装该 Python 模块时,将环境变量添加到库所在的目录。这样,该位置就嵌入到 Python 模块扩展本身中,您不需要LD_LIBRARY_PATH
在运行时。
使用环境变量执行此操作的唯一其他方法是设置LD_LIBRARY_PATH
在 Apache 的启动脚本中,以便当 Apache 启动时它会根据您的需要进行设置。这意味着摆弄系统启动脚本,因此并不理想或不实用。
最后一种方法可能有效,但实际上并不是一个好主意,甚至可能不起作用,那就是使用:
LoadFile "/usr/local/lib/libmylib.so"
在 Apache 配置中。这将在启动时强制将特定库链接到 Apache,但根据库的使用方式,这可能不起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)