У меня есть небольшой скрипт, который я использую для проверки PHP mail (), как показано ниже:
<?php error_reporting(E_ALL); ini_set("display_errors",1); mail('x@x.com','test','test') or die('could not send') ; echo "Mail Sent"; ?>
Когда я запускаю этот скрипт, я не получаю никакого вывода. Я не получаю ошибку, я не получаю ничего эхо, я рассматриваю источник, ничего.
Ive пробовал так много разных вариаций, если я вытащил почту в коде выше, он будет работать нормально.
Это сервер, размещенный в Windows, поэтому у меня нет доступа к php.ini или чему-либо еще
Может ли быть какая-то конфигурация, которая не выдает вывода, когда встречается ошибка?
Согласно руководству по настройке Runtime PHP:
Примечание. Хотя
display_errors
можно установить во время выполнения (с помощьюini_set()
), это не повлияет, если скрипт имеет фатальные ошибки. Это связано с тем, что желаемое действие во время выполнения не выполняется.
У вашего кода появляется синтаксическая ошибка ( 'test,
отсутствует закрывающий апостроф). Таким образом, ваша программа сталкивается с фатальной ошибкой. Единственный способ получить фатальную ошибку для отображения ( EDIT : вне журнала ошибок) – установить display_errors = 1
в файл php.ini
.
Проблема заключается в конфигурации сервера sendmail. Если вы тестируете этот скрипт в своей личной среде разработки, не беспокойтесь об этом. Это может быть лаваш для настройки / настройки сервера sendmail. Если у вас возникла эта проблема на вашем производственном сервере, самым простым решением является использование библиотеки почтовых ящиков с опцией smtp (разрешить отправку вашей электронной почты на внешний smtp-сервер для обработки / доставки).
Вот руководство по использованию стороннего почтового скрипта smtp … http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm