Laravel重置密码电子邮件无法正常生产

时间:2019-08-12 11:07:16

标签: php laravel authentication

当我尝试忘记密码并在laravel应用程序中输入我的电子邮件时,会出现此错误:

  

传递给DOMNode :: removeChild()的参数1必须是DOMNode的实例,给定为空

我今天早些时候发布了this question,但没有收到回复。 (请阅读问题和评论。) 因此,我为该问题添加了更多详细信息,并且由于较旧的问题现在可能不会引起太多关注,因此我想提出一个新问题。

我开始跟踪请求并转储变量,以查看生产和本地计算机之间的区别。 (通过生产和本地服务器现在都具有相同php版本的方式。)

中有此功能
  

vendor / laravel / framework / src / Illuminate / Mail / Markdown.php

/**
 * Render the Markdown template into HTML.
 *
 * @param  string  $view
 * @param  array  $data
 * @param  \TijsVerkoyen\CssToInlineStyles\CssToInlineStyles|null  $inliner
 * @return \Illuminate\Support\HtmlString
 */
public function render($view, array $data = [], $inliner = null)
{
    $this->view->flushFinderCache();
    $contents = $this->view->replaceNamespace(
        'mail', $this->htmlComponentPaths()
    )->make($view, $data)->render();

    return new HtmlString(($inliner ?: new CssToInlineStyles)->convert(
        $contents, $this->view->make('mail::themes.'.$this->theme)->render()
    ));
}

我在生产和本地都转储了变量$view$data,它们都给出了相同的值:

变量视图:"notifications::email"

可变数据:

array:8 [▼
  "level" => "info"
  "subject" => null
  "greeting" => null
  "salutation" => null
  "introLines" => array:1 [▶]
  "outroLines" => array:1 [▶]
  "actionText" => "Change Password"
  "actionUrl" => "http://localhost:8000/password/reset/ff6f1edf6793bf4fadf462781e5258980ddd3c94e545b3b9744b279842f75d93"
]

但是当我在此代码段之后转储$contents变量时:

$contents = $this->view->replaceNamespace(
    'mail', $this->htmlComponentPaths()
)->make($view, $data)->render();

在我的服务器中,结果为空,而在我的本地计算机中,它转储了我想要的html电子邮件。

有人在这里看到这个问题吗?

0 个答案:

没有答案