当我尝试忘记密码并在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电子邮件。
有人在这里看到这个问题吗?