0

我需要带有 CakePHP 2.x MVC 逻辑的 PHP 文件,不能从浏览器(URL)访问。但我不能使用控制台/shell,因为我没有合适的主机(我无法运行 cake bash 文件)我需要这个用于带有 PHP 脚本的 cronjob(例如 test.php - 我可以运行 php 脚本,但我不能运行 bash文件)。

4

2 回答 2

1

没有办法在本地做到这一点。控制台命令将在控制台中运行。如果您无权访问控制台,则无法立即对其运行 cron。但是,有一种方法可以强制控制器/动作执行控制台脚本。然后您需要做的是运行一个 cron 来获取该控制器操作。

有人已经提供了示例代码来执行此操作:https ://stackoverflow.com/a/9000052/372875

如果他的 aco_sync() 操作在 ConsoleFuncs 控制器中,您可以获取http://yoursite.com/console_funcs/aco_sync来运行 shell 脚本。在您要设置 cron 作业的机器上,该脚本会简单地对该 URL 进行 curl 操作,从而执行该控制台脚本。

祝你好运!

于 2013-03-25T22:05:34.140 回答
0

如果我没看错,您需要一种方法在无法通过浏览器或命令行访问该应用程序的 CakePHP 应用程序上运行 cron 作业吗?好吧,希望您的意思是您无法通过浏览器访问它,但它仍然存在于某种类型的网络上。创建一个向您的 Controller/Action 发出请求的脚本,然后对该脚本进行 cronjob。您可能想要使用 Cake 的 Json 或 XML 视图。此外,如果您需要保护用户名/密码后面的控制器/操作,请考虑阅读创建无状态身份验证系统。

于 2013-03-25T06:45:28.867 回答