Score:0

ฉันได้ตั้งค่า sendmail_path ใน PHP.ini และใช้งานได้ดีบนบรรทัดคำสั่ง แต่ไม่ใช่เมื่อเรียกใช้สคริปต์เดียวกันจากเซิร์ฟเวอร์ Apache

ธง cn

ดังนั้นฉันจึงพยายามทดสอบฟังก์ชันอีเมลบางอย่างอย่างง่ายในแอปพลิเคชัน PHP (Magento) แต่ฉันพบปัญหา สิ่งที่ฉันต้องการทำคือเก็บเอาต์พุตจากการโทรไปยังในตัว จดหมาย () ทำงานเป็นไฟล์ในเครื่องแทนการส่งผ่านเซิร์ฟเวอร์ SMTPฉันรู้วิธีและเคยตั้งค่าการเข้าถึง SMTP สำหรับแอปพลิเคชันนี้มาแล้ว แต่ต้องใช้เวลาสักระยะ และฉันคิดว่ามันคงไม่ยากที่จะทำด้วยวิธีนี้

หลังจากดูเอกสารประกอบแล้ว ดูเหมือนว่ามันจะตรงไปตรงมามากตั้งแต่ sendmail_path ตัวเลือกการกำหนดค่าดูเหมือนจะเป็นสิ่งที่ฉันต้องการ ฉันตรวจสอบว่าทั้งบนบรรทัดคำสั่งและผ่าน Apache ไฟล์คอนฟิกูเรชัน php.ini ที่โหลดนั้นเป็นไฟล์เดียวกัน ดังนั้นฉันจึงแก้ไขไฟล์นั้นและตั้งค่า sendmail_path ถึง /usr/local/bin/testsendmail. จากนั้นฉันสร้างสคริปต์ใหม่ที่เส้นทางนั้นซึ่งรับอินพุตและเขียนลงไป /tmp/sent-mail.html. ฉันสร้างไฟล์นั้นและตรวจสอบให้แน่ใจว่ามี 777 สิทธิ์เพียงเพื่อให้แน่ใจว่าฉันไม่พบข้อผิดพลาดในการอนุญาต (ไฟล์ ทดสอบส่งอีเมล สคริปต์ก็มี 775 สิทธิ์ด้วยเหตุผลเดียวกัน)

เพื่อส่งอีเมลจากหน้าเว็บ ฉันได้สร้างสคริปต์ PHP ทดสอบอย่างง่ายที่ไม่ได้ทำอะไรเลยนอกจากโทรออก จดหมาย () โดยใช้ข้อมูลการทดสอบบางอย่าง เมื่อฉันเรียกใช้สคริปต์นี้ผ่าน php /var/www/html/test/test.phpมันทำงานตรงตามที่ฉันคาดไว้: มันเรียกหา ทดสอบส่งอีเมล ไฟล์ซึ่งเขียนอีเมลไปยังไฟล์ที่ฉันระบุ อย่างไรก็ตาม เมื่อฉันเปิด URL นี้ในเบราว์เซอร์ จดหมาย () ฟังก์ชันส่งกลับ จริง แต่ไม่ทำอะไรเลย

ฉันเปิดใช้งานตัวเลือกการบันทึกข้อผิดพลาดตามปกติทั้งหมด ฉันไม่ได้รับอะไรกลับมาเลย มันทำงานต่อไปหลังจาก จดหมาย () โทร ดังนั้นจึงไม่เกิดข้อผิดพลาดอย่างเงียบๆ ฉันตรวจสอบให้แน่ใจว่าไฟล์ที่เป็นปัญหาทั้งหมดมีสิทธิ์เปิด ดังนั้นจึงไม่มีโอกาสเกิดข้อผิดพลาดในการอนุญาต สิ่งเดียวที่ฉันคิดได้คือ Apache อาจสร้างกระบวนการใหม่เพื่อส่งจดหมาย และด้วยเหตุผลบางอย่างกระบวนการนี้ไม่ได้รับอนุญาตให้แก้ไขไฟล์หรืออะไรทำนองนั้น ฉันไม่แน่ใจจริงๆ ดังนั้นความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก ฉันสามารถส่งเนื้อหาที่แน่นอนของสคริปต์ทดสอบได้ แต่จริงๆ แล้วไม่มีอะไรอื่นนอกจากการโทร จดหมาย () และ file_put_contents() เพื่อเขียนข้อมูล

โพสต์คำตอบ

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