升级到 3.7 时出错:属性 _transportConfig 不存在

jho*_*rth 1 cakephp

升级 CakePHP 从 3.5 -> 3.6 -> 3.7。应用程序在浏览器中启动后,就会显示错误消息“属性 _transportConfig 不存在”。

app.php 中的电子邮件传输配置

'EmailTransport' => [
    'default' => [
    'className' => 'Smtp',
    'host' => 'smtp.gmail.com',
    'port' => 587,
    'username' => '*******@gmail.com',
    'password' => '********************',
    'log' => true,
    'tls' => true
    ],
],
Run Code Online (Sandbox Code Playgroud)

小智 6

我在迁移指南中找到了一些信息,这是一个可能有效的解决方案;

\n\n
\n\n

首先,您需要将其添加到您的引导文件中

\n\n
use Cake\\Mailer\\TransportFactory;\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后替换

\n\n
Email::setConfigTransport(Configure::consume(\'EmailTransport\'));\n
Run Code Online (Sandbox Code Playgroud)\n\n

经过

\n\n
TransportFactory::setConfig(Configure::consume(\'EmailTransport\'));\n
Run Code Online (Sandbox Code Playgroud)\n\n

最后你可能会考虑通过composer更新调试器:

\n\n
\xce\xbb composer require --update-with-dependencies "cakephp/debug_kit" \n
Run Code Online (Sandbox Code Playgroud)\n\n

可能不是最好的方法,但它对我有用!

\n