CakePHP Shell Cronjob TCPDF

时间:2014-04-16 12:34:32

标签: php shell cakephp cron tcpdf

我使用CakePHP 2.4和TCPDF来生成发票。

  • 如果生成新发票,每天都会检查一个cronjob。

  • 当我通过浏览器访问该功能时,一切都很完美。

  • 当我通过shell访问该函数时,出现错误:

CronjobShell.php:

$cmsoptions = $this->Cmsoption->find('first');
$this->set(compact('data', 'cmsoptions'));
$this->layout = 'pdf';
$this->render(); 

"调用未定义的方法CronjobShell :: set()"

我知道Set选项正在解决问题。但是如何使用Cronjob生成PDF?

1 个答案:

答案 0 :(得分:2)

问题是AppShell默认情况下不支持视图功能。就像在similar question中一样,您必须添加以下内容:

App::uses('View', 'Core');

$view = new View();
$view->set(compact('data', 'cmsoptions'));
$view->layout = 'pdf';
$pdfContent = $view->render();

然后,您可以在$pdfContent或类似的帮助下使用file_put_contents('/var/www/new_invoice.pdf', $pdfContent);作为PDF文件的内容。