【问题标题】:Accessing symfony 1.4 URL using CLI Terminal in Ubuntu在 Ubuntu 中使用 CLI 终端访问 symfony 1.4 URL
【发布时间】:2014-01-14 23:54:33
【问题描述】:

谁能告诉我,如何在 ubuntu 中使用终端访问 symfony 的操作 URL
例如:

http://mysymfonyproject.com/index.php/users/sendnewsletter

同样,我想将操作类 URL 设置为 cron 作业。是否可以在 symfony 中设置 cron 作业
例如:

 http://mysymfonyproject.com/index.php/crons/sendnewsletter

【问题讨论】:

    标签: php ubuntu cron symfony-1.4 command-line-interface


    【解决方案1】:

    我认为你应该研究一个 Symfony 任务。有很多内置任务,但您可能应该编写自己的任务,然后使用命令从 cli 调用它:

    php symfony yourTaskNamespace:yourTaskName
    

    然后您可以将此类命令添加为常规 cronjob 任务。

    您可以在Documentation Page查看如何创建自定义 Symfony 任务的详细说明

    【讨论】:

    • 是的,Tomasz Madeyski,我创建了一个 Symfony 任务并使用 CLI 访问。 $ cd your/project/directory $ php symfony task-namespace:task-name 另外,为了访问配置和学说,我们需要使用 sfCommandOption 类添加选项。谢谢 :) 我必须在服务器 crontab 中设置它。 :)
    • 部分解决了,因为我必须知道如何在 apache cron 选项卡中设置这个 symfony 任务 :) 因为我有一个单独使用 CLI(而不是通过任何浏览器)创建和执行 symfony 操作脚本的情况,我正在寻找它。后来,我知道了 symfony 任务,所以我做了部分事情:)
    【解决方案2】:

    使用任务是最好的解决方案(正如 Tomasz Madeyski 建议的那样)。请注意,这些任务的工作方式与 Web 应用程序有些不同(例如,阅读有关在任务中使用 sfContext 的信息)

    您也可以使用curl 直接从 CLI 访问您的 sf 页面:

    curl -sS  http://mysymfonyproject.com/index.php/crons/sendnewsletter >> mylog.log
    

    -sS 选项将使curl 静默,除非出现错误。如果不需要,可以跳过。

    最后一部分(>> mylog.log)会将请求的结果附加到日志文件中(最好指定日志文件的完整路径)

    至于设置 cron 作业,无论您使用 curl 还是 sf 任务都相当容易。浏览网络以获取有关设置 crontab 的教程,那里有很多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多