首页 文章

与CakePHP一起工作

提问于
浏览
2

我已经引用了http://bakery.cakephp.org/articles/view/calling-controller-actions-from-cron-and-the-command-line并创建了cron_dispatcher.php并将其放在app文件夹中 .

我已经为我的用户控制器的测试方法中的cron作业返回了一些测试电子邮件功能 .

我在我的网络服务器的控制面板中创建了一个Cron作业

"/usr/bin/php/home4/enventur/public_html/pennystock/cron_dispatcher.php /users/test"

但它给我一个错误,因为“没有指定输入文件 . ”

请帮帮我,怎么解决?

提前致谢

3 回答

  • 4

    我以不同的方式做到了,

    请看看步骤,它可能对其他人有帮助..

    使用Cakephp框架结构的Cron / Shell:

    • 创建

    F:\websites\projectname\app\vendors\shells\filename.php

    class ClassName extends Shell {
        //var $uses = array('Post'); //name of Model
    
        //Main function runs always when shell executes
        function main() {
            mail("nidhin@2basetechnologies.com","Test","Test");
        }
    }
    

    2.设置754权限 F:\websites\projectname\cake\console\cake

    • 将cron作业设置为 /home4/enventur/public_html/pennystock/cake/console/cake -app "/home4/enventur/public_html/pennystock/app" ClassName >/dev/null 2>&1

    / dev / null 2>&1:用于抑制来自服务器的警告/错误/消息

    谢谢Nidhin

  • 3

    听起来像PHP无法找到您指定的文件 . 检查路径是否正确 . 例如:

    # incorrect path
    /home4/enventur/public_html/pennystock/cron_dispatcher.php
    
    # correct path (?)
    /home4/enventur/public_html/pennystock/app/cron_dispatcher.php
    

    现在,下一部分并不值得注意CakePHP shells是出于这个目的 .

    如果您创建了一个名为 Mailer 的shell并将 UsersController::test() 代码复制到 MailerShell::test() ,那么您可以像这样从 cron 调用它(再次检查路径是否正确):

    /home4/enventur/public_html/pennystock/cake/console/cake -app /home4/enventur/public_html/pennystock/app mailer test

    使用这种方法,您不必使用 cron_dispatcher.php ,如古老的面包店文章(4年前圣诞节为CakePHP 1.1编写)中所述 .

  • 0

    cron作业是一个长时间运行的进程,它在特定的日期和时间执行命令 .

    转到您的域cpanel帐户 .

    首先使用cron job生成要运行代码的文件 . 并将文件上传到您的网站根文件夹 .

    现在转到cpanel帐户中的“Cron作业”部分,在文本框中输入文件路径,并设置要运行文件的时间 .

    谢谢 .

相关问题