如何让“lavary / crunz”与树枝一起工作

时间:2018-04-03 11:50:00

标签: php twig slim-3

好的,我试着解释尽可能简单: 在我的PHP Web应用程序中,我使用"lavary/crunz"设置了一些自动化任务。

我面临的问题是当我尝试使用“Twig模板引擎”来创建我的电子邮件主体时,它会以某种方式工作,而且我在调试时无法获得错误信息。:

class MyClass
{
    public static function _testTask()
        {
        $receiver = ['email'=>COMPANY_EMAIL,'name'=>COMPANY_NAME];
        return function() use($receiver)
               {
                $mail = new \MailerCtrl();

                $loader = new \Twig_Loader_Filesystem("views/templates");
                $twig = new \Twig_Environment($loader,["cache" => "views/cache"]);

                $content = array('name'=>'My Name','age'=>25);
                $subject = 'Something';
                $mail->send($subject,$receiver,$twig->render('report.html.twig', $content));
               };
    }
}



$schedule->run(MyClass::_testTask())->cron('* * * * *');

我的MailerCtrl类是一个简单的PHPMailer表示,它期望我希望从$twig->render('report.html.twig', $content);呈现的html主体

还有其他甚至更好的方法来实现这一目标吗?当我从http调用此脚本时,它按预期工作,但当通过“crunz”运行时,我收到此错误:

PHP Catchable致命错误:

  

传递给Twig_Filter :: __ construct()的参数1必须是一个实例   字符串,给定字符串,调用   /home/httpd/vhosts//httpdocs/vendor/twig/twig/lib/Twig/Extension/Core.php   在第139行并在中定义   /home/httpd/vhosts//httpdocs/vendor/twig/twig/lib/Twig/Filter.php on   第35行

1 个答案:

答案 0 :(得分:1)

HTTP正在运行PHP 7 和

  

“lavary / crunz”

通过PHP命令行没有运行PHP 7,因为Twig 2.0至少需要PHP 7,如下所述:https://stackoverflow.com/a/41888528/1865829

将PHP命令行更新为7,它应该可以正常工作。