邮件功能后PHP死亡

邮件功能后PHP死亡,php,Php,我试图在一个函数中发送邮件,如果成功的话,然后返回一些东西,但是在运行了邮件函数之后,PHP进程似乎就死了 这是我现在的代码的一个例子 <?php die(json_encode(someFunction('test@example.me'))); function someFunction($mail) { ..Some Code.. ini_set( 'display_errors', 1 ); error_reporting( E_ALL ); $from =

我试图在一个函数中发送邮件,如果成功的话,然后返回一些东西,但是在运行了邮件函数之后,PHP进程似乎就死了

这是我现在的代码的一个例子

<?php

die(json_encode(someFunction('test@example.me')));

function someFunction($mail) {
  ..Some Code..

  ini_set( 'display_errors', 1 );
  error_reporting( E_ALL );
  $from = "no-reply@example.com";
  $to = $mail;
  $subject = "Test";
  $headers = "From: " . $from;
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

  $message = '
    <h1>Test message</h1>
  ';

  mail($to, $subject, $message, $headers);

  $r->success = true;
  return $r;
}
?>
这不会返回任何东西

希望你能帮助我


谢谢你的问候

没有函数就无法返回。如果要打印任何内容,只需使用echo或print\r即可

 <?php
  ini_set( 'display_errors', 1 );
  error_reporting( E_ALL );

die(json_encode(someFunction('test@example.me')));

function someFunction($mail) {
  $from = "no-reply@example.com";
  $to = $mail;
  $subject = "Test";
  $headers = "From: " . $from;
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

  $message = '
    <h1>Test message</h1>
  ';

  mail($to, $subject, $message, $headers);
  $r = new stdClass();
  $r->success = true;
  return $r;
}
?>

错误是两行

ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
当我删除这些代码时,代码起作用了


谢谢你帮我解决问题。

变量$r是什么?它不会死的。但它可能会因错误而失败。或者可能无法产生任何产出。您期望的输出是什么?为什么?PHP日志中有什么?@davidev$r只是一个变量,函数returns@David一点错误都没有,除了一个值为'success'的对象的输出等于true之外,我没有得到任何错误output@TheDanishYoutuber:您具体在哪里检查错误?您在何处/如何观察此输出?此处显示的代码将产生错误,因为从未定义$r。它不会产生任何输出,因为return不会在函数上下文之外执行任何操作。我更新了我的问题,我给出的代码只是我问题的一个示例,而不是真正的代码。