【问题标题】:Godaddy cron job setup for running php script用于运行 php 脚本的 Godaddy cron 作业设置
【发布时间】:2020-07-09 02:29:11
【问题描述】:

你能帮我在godaddy虚拟主机上设置cron作业吗?我有需要运行的 php 文件,它位于 cron 子目录中(所以地址是 http://test.com/cron/file.php)。 我需要在命令输入字段中写什么,以便运行此文件?

【问题讨论】:

    标签: php linux cron


    【解决方案1】:

    注意: GoDaddy 已将所有托管软件包迁移到 cPanel。下面的详细说明适用于较旧的 GoDaddy 界面。命令还是一样的。

    在撰写本文时,在 GoDaddy 共享主机上,我无法使用以下命令:ping, curl, nc, lynx

    但我可以使用:wget

    我使用wget 成功创建了一个cron 作业来加载一个包含对mail() 的调用的PHP 文件。

    1. 登录您的 GoDaddy 帐户
    2. 点击展开“虚拟主机”部分并找到有问题的服务器
    3. 点击“管理”按钮(以前标记为“启动”)
    4. 在“工具”部分的“托管详细信息”页面上,单击“Cron 作业管理器”按钮
    5. 在“Cron Job Manager”页面上,点击“Create Cron Job”按钮
    6. 输入您想要的标题并选择频率(1 小时是允许的最频繁编辑:GoDaddy 已在频率选择中添加了 15 分钟增量。)
    7. 输入以下命令(连同您的信息):

    wget http://YOUR_DOMAIN/YOUR_PATH/YOUR_PHP_FILE.php > /dev/null 2>&1

    编辑: 正如 Leandro 所说,这是使 cron 作业调用远程或本地资源的方法——如果您只想在本地调用资源(这也是如果您正在运行更敏感的作业,则更安全)

    在“YOUR_PHP_FILE.php”中编码您想要执行的所有操作,并包括对mail() 的调用(或者假设您已正确配置,您可能想要使用的任何邮件方法)。

    通过使用mail(),SMTP 中继服务器已经在“php.ini”文件中正确设置为:relay-hosting.secureserver.net——您可以使用phpinfo() 进行确认。

    【讨论】:

    • 为什么要将它用于 localhost 脚本?直接运行脚本,避免安全问题。
    • (1) 本地或远程未由 OP 指定 -- (2) 此外,如果您希望一台服务器上的站点向另一台服务器发出请求,这适用于远程调用 -- (3)这个讨论不是关于安全性的,因此对安全性的讨论是无关紧要的/离题(当然,在最坏的情况下,不值得超过评论——不是反对票)——(4)没有解释的反对票是与stackoverflow的精神背道而驰的跨度>
    • 这个答案对我没有用,并且有很多不便之处并且缺乏关于 linux bash 的研究,这是 godaddy 使用这个过程的方式。如果编辑答案以支持正确的过程,就像此处提供的其他答案一样,我很高兴支持它。
    • 而且,无论如何,这个问题和答案不属于SO。
    • 对你有用没关系——不是你要找的答案?去别处——你煞费苦心地否决了一个好的答案——没有“正确”的程序——有一个本地和远程方法——远程方法适用于/或——并且已经为许多支持者工作——你说“为什么你应该将它用于 localhost 脚本?” - 因为我不想在本地运行该作业,而是在我的其他远程服务器之一上运行 - 这是远程调用的正确程序,更改为错误的方法是错误的 - 但你的语法错误是提示你的误解
    【解决方案2】:
    php_path -q file_name_with_absolute_path
    
    /usr/bin/php -q /home/[user name]/public_html/test.php
    

    1:如何知道你的php_path?

    echo exec('whereis php');
    

    2:如何知道文件的绝对路径?

    echo dirname(__FILE__);
    

    【讨论】:

    • 这适用于 GoDaddy、NameCheap 和一些较小的虚拟主机(除了我使用 /usr/local/bin/php 而不是 /usr/bin/php)。此外,它让我相信 cron 语句中使用的路径都是正确的。 +1
    【解决方案3】:

    使用 Cpanel 为 GoDaddy 共享主机帐户设置 Cron。

    *-->>Cron 作业在亚利桑那州的 GoDaddy 时区运行。 Go Daddy 不会在任何地方发布此内容。

    示例: 每天在太平洋标准时间 1305(下午 1:05)运行 cron。

    5 14 * * * /usr/local/bin/php -q /home/username/public_html/scriptname.php

    【讨论】:

      【解决方案4】:

      您的 cron 作业命令应如下所示(当然,除非您的目录结构不同):

      /web/cgi-bin/php5 "$HOME/html/sendy/scheduled.php" > /dev/null 2>&1
      

      毕业生,

      沙哈娜

      【讨论】:

        【解决方案5】:

        如果您使用的是 Godaddy,这应该可以解决您的问题。

         *  *   *   *   *   /usr/local/bin/php /home/path/to/your/file.php > /dev/null
        

        【讨论】:

          【解决方案6】:

          使用,例如 CURLwgetlynx

          lynx -s http://link.to/script.php
          

          【讨论】:

            【解决方案7】:
            /usr/local/bin/php -q /home/[user name]/[path to the file]
            

            Reference

            【讨论】:

              【解决方案8】:

              您可以通过主机控制中心设置 cron 作业。在此处查看 GoDaddy 的官方页面:https://www.godaddy.com/help/create-cron-jobs-3548,了解如何设置它。

              【讨论】:

                【解决方案9】:

                在 Godaddy Linux 主机中。我使用这个命令来运行 cron 作业。

                /usr/bin/php public_html/now your path
                

                【讨论】:

                  【解决方案10】:

                  如果您想在 Godaddy 中运行 cron 作业。您可以找到以下命令,它一定会对您有所帮助。

                  php -f /home/[user name]/[path to the file] 
                  

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2012-08-06
                    • 1970-01-01
                    • 2018-06-11
                    • 2012-02-04
                    • 1970-01-01
                    • 2016-12-12
                    • 1970-01-01
                    • 2020-02-28
                    相关资源
                    最近更新 更多