Điểm:0

Tôi đã đặt sendmail_path trong PHP.ini và nó hoạt động tốt trên dòng lệnh, nhưng không hoạt động khi cùng một tập lệnh được gọi từ máy chủ Apache?

lá cờ cn

Vì vậy, tôi đang cố gắng thực hiện một thử nghiệm đơn giản về một số chức năng email trong ứng dụng PHP (Magento), nhưng tôi đang gặp sự cố. Tất cả những gì tôi muốn làm là lưu trữ đầu ra từ các lệnh gọi tích hợp sẵn email() chức năng vào một tệp cục bộ thay vì gửi nó qua máy chủ SMTP.Trước đây, tôi biết cách và đã thiết lập quyền truy cập SMTP cho ứng dụng này, nhưng phải mất một thời gian và tôi nghĩ rằng dù sao thì cũng không khó để thực hiện theo cách này.

Sau khi xem tài liệu, có vẻ như nó sẽ rất đơn giản vì sendmail_path tùy chọn cấu hình dường như là chính xác những gì tôi cần. Tôi đã xác minh rằng cả trên dòng lệnh và thông qua Apache, tệp cấu hình php.ini đang được tải là cùng một tệp, vì vậy tôi đã chỉnh sửa tệp đó và đặt sendmail_path đến /usr/local/bin/testsendmail. Sau đó, tôi đã tạo một tập lệnh mới tại đường dẫn đó để nhận đầu vào và ghi vào /tmp/sent-mail.html. Tôi đã tạo tập tin đó và chắc chắn rằng nó có 777 quyền chỉ để đảm bảo rằng tôi không gặp phải lỗi về quyền (các gửi thư kiểm tra kịch bản cũng đã có 775 quyền vì lý do tương tự).

Để gửi email từ một trang web, tôi đã tạo một tập lệnh PHP thử nghiệm đơn giản không làm gì ngoài việc thực hiện cuộc gọi đến email() sử dụng một số dữ liệu thử nghiệm. Khi tôi chạy tập lệnh này qua php /var/www/html/test/test.php, nó chạy chính xác như tôi mong đợi: nó kêu gọi gửi thư kiểm tra tệp sau đó ghi email vào tệp tôi đã chỉ định. Tuy nhiên, khi tôi mở URL này trong trình duyệt, email() hàm trả về thật nhưng không làm gì khác.

Tôi đã bật tất cả các tùy chọn ghi nhật ký lỗi thông thường, tôi không nhận được gì với những tùy chọn đó. Nó tiếp tục chạy sau khi email() gọi, vì vậy nó không bị lỗi âm thầm. Tôi đảm bảo rằng tất cả các tệp được đề cập đều có quyền mở nên không có khả năng xảy ra lỗi về quyền. Điều duy nhất tôi có thể nghĩ đến là có thể Apache tạo ra một quy trình mới để gửi thư và vì lý do nào đó, quy trình này không được phép sửa đổi tệp hoặc thứ gì đó? Tôi thực sự không chắc chắn, vì vậy bất kỳ trợ giúp nào cũng sẽ được đánh giá cao. Tôi có thể gửi nội dung chính xác của các tập lệnh kiểm tra, nhưng chúng thực sự không có gì khác ngoài lệnh gọi tới email()file_put_contents() để ghi dữ liệu ra.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.