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
.