如果这是一个愚蠢的问题,我很抱歉,但实际上我不知道。
我写了这个应用程序来压缩文件并将文件从客户端的PC移动到主PC 它可以很好地用作网页。这几乎没有指导,没有规范文件 因为命运会有它,它应该是一个通过调用
运行的cron作业 *****runScript.php
所以我不知道将执行或将要执行的顺序。
我使用了2个AJAX调用来调用脚本中的方法,但只是将文件作为脚本运行就有点不同了。
有人可以指导我吗?
e.g。是否有一个将首先调用的MAIN方法。 如果是的话,那么我可以从那里引导脚本。
更新
答案真的很有帮助,但是php文件怎么会受到影响? @Ole Haugset 提到我应该调整它以便使用$_GET
vars。例如,if ($_GET["argument"]=='runScript'){}
已在脚本中完成此操作。
因此,将runScript
附加到脚本调用应该可以正常工作吗?
e.g。 * * * * * php /path/to/file/runScript.php runScript
答案 0 :(得分:5)
将PHP脚本作为cron作业运行没有问题。
您需要做的是将文件系统中的完整路径提供给脚本文件,并使用命令php
告诉Linux运行该文件的程序。
示例:
*/5 * * * * php /var/www/vhosts/statistikk/cron/getLastArticleFromIntranet.cron.php >> /var/www/vhosts/statistikk/cron/LOG.txt 2> /dev/null
此脚本将每隔5分钟运行一周中的所有日期。无论PHP脚本回显/打印出来,都将存储到LOG.txt
文件中,以便我可以监视脚本事件。
尝试在shell中运行命令,然后将其放入cronjobs中以确保它正常工作。
但是,您说您通常使用AJAX调用来调用此脚本。这不可能与cronjob有关。我假设你使用AJAX传递脚本需要的一些$ _POST元素。因此,您需要做的是调整脚本以允许$argv
参数,并将它们添加到crontab作业,或者只是在运行之前创建一个不需要任何给定参数的脚本。
如果您要调整脚本以支持$argv
参数,请按照Stack Overflow上已有的关于向作业添加参数的答案:
How to run a php url with parameters in cron tab
编辑:
我只想从下面的答案中添加我的答案。
要在Linux中编辑crontab作业,只需使用命令crontab -e
。
这是需要填写的每个必需参数的描述。
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
答案 1 :(得分:2)
要在linux中添加cronjob,请执行以下操作:
#crontab -e 如果vi是你的编辑器,请按i输入文本,按esc退出。使用:w保存更改,然后:q退出。 如果nano是您选择的编辑器,则使用strg + o进行保存,使用str + x进行结束。
无论如何将此行添加到文件的bodom:* / 5 * * * * php runScript.php
每5分钟调用一次。
* * * * * php /path/to/file/runScript.php
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Day of the week (0-7, Sunday is 0 or 7)
│ │ │ └────── Month (1-12)
│ │ └──────── Day (1-31)
│ └────────── Hour (0-23)
└──────────── Minute (0-59)
应该是这样:)
答案 2 :(得分:2)
从cron作业运行PHP脚本的常用方法是使用命令行程序,例如curl或wget。例如,cron作业运行类似于以下命令的命令:
curl http://*****.com/script.php
这个命令,curl检索网页,然后运行PHP脚本。
但是,有一种更好的方法可以从cron作业在您的网站上运行PHP脚本。您可以使用PHP命令行解释器直接运行脚本。这种方法同样有效,通常更快。以下命令显示如何使用PHP命令行解释器运行脚本:
/usr/local/bin/php -q /home/username/public_html/script.php
在此示例中,PHP命令行解释程序运行script.php文件。 -q选项启用安静模式,可防止显示HTTP标头。
根据PHP脚本中的代码,它可能只在从特定目录调用时才能正确运行。例如,如果脚本使用相对路径来包含文件,则只有在从正确的目录调用它时才会运行。以下命令显示如何从特定目录调用PHP脚本:
cd /home/username/public_html/; /usr/local/bin/php -q script.php
如果您的脚本需要特殊配置选项,则可以使用自定义php.ini
文件。 -c
选项允许您使用自定义PHP script
文件呼叫php.ini
:
/usr/local/bin/php -c /home/username/php.ini /home/username/public_html/script.php
Click Here更多关于Cron PHP Script
定义示例。