php 5.3 ถูก slotted เพื่อให้ได้การติดตามเมลที่ดีขึ้น แต่ฉันไม่แน่ใจว่าเกิดอะไรขึ้น (แก้ไข: ใช่ php 5.3 มีการบันทึกในตัวแล้ว - php.ini มีตัวแปร config mail.log ซึ่งจะบันทึกการใช้จดหมายจากรหัส php)
เราแก้ไขปัญหาด้วยการทำให้ sendmail เป็นเชลล์สคริปต์ของ wrapper
ใน php.ini ตั้งค่าตัวส่งจดหมายใหม่ เช่น:
sendmail_path = /usr/local/bin/sendmail-php -t -i
สคริปต์ sendmail-php เพียงใช้ตัวบันทึกเพื่อรับข้อมูลจากนั้นเรียกใช้ sendmail ของระบบ:
#!/bin/bash
logger -p mail.info -t sendmail-php "site=${HTTP_HOST}, client=${REMOTE_ADDR}, script=${SCRIPT_NAME}, filename=${SCRIPT_FILENAME}, docroot=${DOCUMENT_ROOT}, pwd=${PWD}, uid=${UID}, user=$(whoami)"
/usr/sbin/sendmail -t -i $*
สิ่งนี้จะเข้าสู่สิ่งที่ mail.info ของคุณตั้งไว้ในไฟล์ syslog.conf
ข้อเสนอแนะอีกประการหนึ่งคือการติดตั้งส่วนขยาย php suhosin เพื่อกระชับช่องโหว่ใน PHP ยกเว้นว่าคุณกำลังใช้ Debian หรือ Ubuntu ซึ่งนี่เป็นค่าเริ่มต้นอยู่แล้ว