Khi tôi thực thi kịch bản email thông qua trình duyệt, lỗi trả về hết thời gian chờ được trả về (trừ khi tôi tăng thời gian thực thi, sau đó nó sẽ chạy ok, không phải giải pháp mà tôi đang tìm kiếm). Email được gửi tho, nhưng phải mất vĩnh viễn (trung bình 5 phút) để đến (tại hộp thư đến của tôi)!
(Xét rằng thông qua dòng lệnh nó hoạt động hoàn hảo Tôi nghĩ rằng SMTP tại php.ini được chắc chắn cũng được cấu hình.)mail() timeout issue
Vì vậy, đây là mã thực hiện theo yêu cầu trình duyệt:
<?php
mail('[email protected]', 'test subject', 'test body', 'From: Andre Matos <[email protected]>');
?>
và khi tôi chạy điều này giống nhau (có thực sự giống nhau không? Tôi bắt đầu nghi ngờ bản thân mình) mã thông qua dòng lệnh:
php -r "mail('[email protected]', 'test subject', 'test body', 'From: Andre Matos <[email protected]>');"
nó hoạt động hoàn hảo! Kịch bản chạy, nó dừng lại và email đến ngay lập tức (2/3 giây).
Vì vậy, điều gì có thể gây ra sự khác biệt này và cách khắc phục sự cố? Bất kỳ ý tưởng?
Cảm ơn bạn trước.
[sửa] một số thông tin thêm:
- máy là cửa sổ
- máy chủ là localhost
- php.ini là như nhau cho cả hai trình duyệt và dụ cli
[edit2]
Cảm ơn tất cả các bạn đã cố gắng đoán đó là vấn đề. Tôi đặt câu hỏi hopping rằng ai đó đã có vấn đề trước và biết một cái gì đó cụ thể. Không có gì cụ thể cho thấy và không có đề xuất nào thực sự hiệu quả, tôi đã quyết định chấp nhận một đề xuất cho phép tôi đạt được nhiều kết luận hơn về vấn đề ... +1 Cho tất cả kiến thức/suy nghĩ hữu ích của bạn (/ guesses) :-)
Dòng lệnh và trình duyệt đang thực sự sử dụng hai tệp php.ini khác nhau. Bạn có thể muốn tìm kiếm php.ini và so sánh cài đặt của bạn – Patrick
Điều đó không có ý nghĩa với tôi; Vì vậy, tôi đã kiểm tra: 'php --ini' trả về cùng một đường dẫn cho tệp cấu hình như trình duyệt. – acm
Tôi giả sử sendmail_path cũng giống như vậy? – djdy