Score:1

คำสั่ง Apache CustomLog ล้มเหลว - ไปป์

ธง in

ฉันมีคำสั่งต่อไปนี้ในไฟล์ apache2_site.conf ของฉัน:

        CustomLog "|/home/me/myjlog.py %h \"%r\"" ทั่วไป

ซึ่งควรสร้างบันทึกในเซิร์ฟเวอร์ MySQL ของฉัน myjlog.py เริ่มต้นด้วย:

#!/usr/bin/python3
นำเข้า pymysql
นำเข้าระบบ

ip=sys.argv[1]
req=sys.argv[2]
...

อย่างไรก็ตาม สำหรับแต่ละคำขอไปยังไซต์ของฉัน การเข้าสู่ระบบในฐานข้อมูลของฉันยังไม่เสร็จสิ้น

สิ่งที่ปรากฏใน /var/log/apache2/error.log เป็น:

AH00106: โปรแกรมบันทึกแบบไพพ์ '/home/me/myjlog.py %h "%r"' ล้มเหลวโดยไม่คาดคิด
Traceback (การโทรครั้งล่าสุดล่าสุด):
  ไฟล์ "/home/alibaba/myjlog.py" บรรทัดที่ 2 ใน <โมดูล>
    นำเข้า pymysql
ModuleNotFoundError: ไม่มีโมดูลชื่อ 'pymysql'

ดูเหมือนว่า python จะไม่รู้จักโมดูล pymysql. อย่างไรก็ตามโมดูลนี้ได้รับการติดตั้งสำหรับผู้ใช้ ฉัน และ ราก...

ฉันจะรับประกันการเข้าถึงได้อย่างไร pymysql ถึง อาปาเช่2?

แก้ไข: 1 - ฉันไม่ได้ใช้สภาพแวดล้อมเสมือนจริงบนเซิร์ฟเวอร์นี้ 2 - หลังจากตั้งค่า chmod -R g+rx /home/me/.local และ chmod -R a+rx /home/me/.local, ฉันวิ่ง sudo -u เว็บไซต์ www-data python3 -m และได้รับ:

sys.path = [
    '/บ้าน/ฉัน',
    '/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' (มีอยู่)
USER_SITE: '/home/me/.local/lib/python3.6/site-packages' (มีอยู่)
ENABLE_USER_SITE: จริง

แต่ก็ยังเป็น บันทึกที่กำหนดเอง คำสั่งไม่สามารถเข้าถึงได้ pymysql.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา