0

这不是完成任务的最佳方法,但您将如何运行 zend 视图的 cronjob。

该视图用于使用 an 生成文件output buffer,然后将文件保存在服务器上,它每天运行一次。

是否只是用 curl 调用控制器的操作 url 的问题:

23 50 * * curl http://pclite.com/statistics/generate

该应用程序需要身份验证。

4

3 回答 3

0

既然您说过,这不是执行此类任务的最佳方法,我不会再告诉它了:D 如果 cronjob 在您的网络服务器所在的同一台服务器上运行,您可以检查客户端 IP 并跳过身份验证如果他们是一样的。因为如果“攻击者”可以将请求从您自己的服务器发送到应用程序,那么您确实存在严重的安全问题。

所以,是的。如果您在 ip 相同时跳过身份验证,您只需要调用 url。

于 2013-06-05T10:54:51.740 回答
0

因为任何其他类Zend_View都可以从任何地方实例化,特别是Zend_View可以渲染到变量。这意味着如果您只想渲染某些内容,则无需调用整个 Web 应用程序。

如前所述,您的另一个选择是拥有应用程序的入口点并调用它以获取回报。但是,如果您只是将一些文件保存到服务器,它可能被认为是让 cronjob 成为可以执行任何操作的脚本的更好方法。这样,您还将节省一些 Web 应用程序的负载。最后一件事可能不那么相关,但是如果将来您想每天为很多用户调用此端点数次怎么办?因此,您可以创建一个包含Zend_View和呈现自身的 CLI 脚本。与 Zend Framework 一样,我将实现选择完全留给您。

于 2013-06-06T05:25:09.497 回答
0

如果你是服务器的管理员,我不会这样做,我会编写一个 PHP 页面,使用 curl 下载并保存文件,因为你编写了一个 php 文件,你可以模拟登录过程,你可以编写php文件中的用户名和密码,并确保文件保存在你想要的位置然后我在corn中使用LYNX,一个文本浏览器,它会每天调用一次这个php文件,所以你不必记录cronjob 中的任何用户名密码,这个 php 可以做任何你想做的事情

于 2013-06-05T10:23:51.117 回答