PHP没有显示错误

时间:2010-03-11 00:50:22

标签: php

我有一个小脚本,用于测试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";

?>

当我运行此脚本时,我根本没有输出。我没有得到任何错误,我没有得到任何回应,我查看来源,没有。

我尝试了很多不同的变体,如果我在上面的代码中取出邮件功能就可以了。

这是Windows托管服务器,因此我无法访问php.ini或其他任何内容

可能是某些配置在遇到错误时没有输出?

2 个答案:

答案 0 :(得分:17)

根据PHP Runtime Configuration指南:

  

注意:虽然可能是display_errors   在运行时设置(使用ini_set()),它   如果脚本不会有任何影响   有致命的错误。这是因为   期望的运行时操作无法获得   执行。

您的代码似乎有语法错误('test,缺少关闭撇号)。因此,您的程序遇到致命错误。要显示致命错误的唯一方式(编辑:错误日志之外)是在display_errors = 1文件中设置php.ini。< / p>

答案 1 :(得分:1)

问题在于您的sendmail服务器配置。如果您在个人开发环境中测试此脚本,请不要担心。它可以是设置/配置sendmail服务器的皮塔饼。如果您在生产服务器上遇到此问题,最简单的解决方案是使用具有smtp选项的邮件程序库(允许将您的电子邮件发送到外部smtp服务器进行处理/交付)。

以下是使用第三方smtp邮件脚本的指南... http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm