我已经更新了我的服务器,现在我在Django下的网站出现了问题。
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: cannot allocate memory in static TLS block
...
[Sat Jul 03 00:50:56.975729 2021] [wsgi:error] [pid 5009] [client 93.21.219.190:57598] File "Django-2.1/django/db/backends/mysql/base.py", line 15, in <module>
[Sat Jul 03 00:50:56.975744 2021] [wsgi:error] [pid 5009] [client 93.21.219.190:57598] import MySQLdb as Database
[Sat Jul 03 00:50:56.975766 2021] [wsgi:error] [pid 5009] [client 93.21.219.190:57598] File "/usr/local/lib/python3.8/dist-packages/MySQLdb/__init__.py", line 24, in <module>
[Sat Jul 03 00:50:56.975805 2021] [wsgi:error] [pid 5009] [client 93.21.219.190:57598] version_info, _mysql.version_info, _mysql.__file__
[Sat Jul 03 00:50:56.975850 2021] [wsgi:error] [pid 5009] [client 93.21.219.190:57598] NameError: name '_mysql' is not defined我找到了一些解决办法,但没有任何效果。
我重新安装了mod_wsgi和mysqlclient:
pip3 install mod_wsgi
pip3 install mysqlclientwsgi链接到libpython3.8和_mysql.cpython-38-x86_64-linux-gnu.sois
ldd /usr/lib/apache2/modules/mod_wsgi.so
linux-vdso.so.1 (0x00007ffff394b000)
libpython3.8.so.1.0 => /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0 (0x00007f6a1fa15000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6a1f9f3000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6a1f82e000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f6a1f7ff000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6a1f7e2000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f6a1f7a7000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6a1f79f000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f6a1f79a000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6a1f656000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6a1ffc9000)
ldd /usr/local/lib/python3.8/dist-packages/MySQLdb/_mysql.cpython-38-x86_64-linux-gnu.so
linux-vdso.so.1 (0x00007ffccf18f000)
libmysqlclient.so.21 => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21 (0x00007efe00610000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efe0044b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007efe00429000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007efe00423000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007efe00391000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007efe000a5000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007efe00089000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007efe0007e000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007efdffeb1000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007efdffd6d000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007efdffd53000)
/lib64/ld-linux-x86-64.so.2 (0x00007efe00d2c000)
ls /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21
ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 18 juil. 2 23:19 /usr/bin/python3 -> /usr/bin/python3.8如果运行 shell,可以导入mysqldb :
python3 manage.py shell
import MySQLdb as Database
Here I can query the database with Model.objects.filter(...)总结:从django外壳来看,它是工作的,而从apache2,它是不工作的。我不明白发生了什么
发布于 2021-08-06 15:39:30
我遇到了一个类似的问题,Apache的气流,运行在一个码头容器。
将LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6添加为env为我解决了这个问题。
https://stackoverflow.com/questions/68232012
复制相似问题