当我输入:
[root@lts5 /]# ldd /usr/lib64/httpd/modules/mod_wsgi.so
libpython2.5.so.1.0 => /root/epd-5.1.0/lib/libpython2.5.so.1.0 (0x00002b4b53ccf000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b4b54036000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b4b54251000)
libutil.so.1 => /lib64/libutil.so.1 (0x00002b4b54456000)
libc.so.6 => /lib64/libc.so.6 (0x00002b4b54659000)
libm.so.6 => /lib64/libm.so.6 (0x00002b4b549b1000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d9f600000)
Run Code Online (Sandbox Code Playgroud)
当我输入时,我怎么能做到这一点:
[root@lts5srv1 /]# ldd mod_wsgi.so
ldd: ./mod_wsgi.so: No such file or directory
Run Code Online (Sandbox Code Playgroud)
..显示相同的结果?
事实上当我尝试重启服务器时:
[root@lts5srv1 mod_wsgi-2.3]# service httpd restart
Stopping httpd: [FAILED]
Starting httpd: httpd: Syntax error on line 202 of /etc/httpd/conf/httpd.conf:
Cannot load /etc/httpd/modules/mod_wsgi.so into server:
libpython2.5.so.1.0: cannot open shared object file: No such file or directory
[FAILED]
Run Code Online (Sandbox Code Playgroud)
仅当您与 mod_wsgi.so 文件位于同一目录中时,运行“ldd mod_wsgi.so”才有效。
解释一下为什么你使用这么旧的 mod_wsgi 版本。您是自己从源代码编译 mod_wsgi 还是使用 mod_wsgi 的现有二进制文件?
如果从源代码编译,请使用 mod_wsgi 3.4(最新),当您从源代码构建它时,请执行以下操作:
LD_RUN_PATH=/root/epd-5.1.0/lib make
Run Code Online (Sandbox Code Playgroud)
LD_RUN_PATH 会将 Python 库目录的位置嵌入到 mod_wsgi.so 中,以便它可以在运行时找到它(假设您的库不在标准位置)。
| 归档时间: |
|
| 查看次数: |
6388 次 |
| 最近记录: |