Am următoarea directivă în fișierul meu apache2_site.conf:
CustomLog "|/home/me/myjlog.py %h \"%r\"" comun
care ar trebui să creeze un jurnal în serverul meu MySQL. myjlog.py incepe cu:
#!/usr/bin/python3
import pymysql
import sys
ip=sys.argv[1]
req=sys.argv[2]
...
Cu toate acestea, pentru fiecare solicitare către site-ul meu, înregistrarea în baza mea de date nu se face.
Ce apare în /var/log/apache2/error.log este:
AH00106: programul de jurnal „/home/me/myjlog.py %h „%r”” a eșuat în mod neașteptat
Traceback (cel mai recent apel ultimul):
Fișierul „/home/alibaba/myjlog.py”, linia 2, în <modul>
import pymysql
ModuleNotFoundError: Niciun modul numit „pymysql”
Se pare că python nu recunoaște modulul pymysql. Cu toate acestea, acest modul este instalat pentru utilizatori pe mine și rădăcină...
Cum pot garanta accesul la pymysql la apache2?
EDITAȚI | ×:
1 - Nu folosesc niciun mediu virtual pe acest server.
2 - După setare chmod -R g+rx /home/me/.local și chmod -R a+rx /home/me/.local, Alerg sudo -u www-data python3 -m site si a obtinut:
sys.path = [
„/acasă/eu”,
„/usr/lib/python36.zip”,
„/usr/lib/python3.6”,
„/usr/lib/python3.6/lib-dynload”,
„/home/me/.local/lib/python3.6/site-packages”,
„/usr/local/lib/python3.6/dist-packages”,
„/usr/lib/python3/dist-packages”,
]
USER_BASE: „/home/me/.local” (există)
USER_SITE: „/home/me/.local/lib/python3.6/site-packages” (există)
ENABLE_USER_SITE: adevărat
Dar totusi Jurnal personalizat directiva nu poate accesa pymysql.