Tom*_*Tom 1 php linux cron debian
我正在尝试将 cronjob 设置为每 20 分钟运行一次。文件路径为/srv/www/mysite.co.uk/public_html/PP/Make_Xml.php
但我需要向它转移一个 var 所以基本上到 cron:/srv/www/mysite.co.uk/public_html/PP/Make_Xml.php?db=LONDON
我尝试使用“crontab -e”并将其设置为每分钟:
* * * * * /srv/www/mysite.co.uk/public_html/PP/Make_Xml.php?db=LONDON
Run Code Online (Sandbox Code Playgroud)
它保存到 /tmp/crontab.something/crontab
它似乎不起作用。我是 linux 新手,请帮忙。
首先,当从命令行调用 PHP 脚本时,您不会像这里那样传递参数。
你通常会通过这样的:
/srv/www/mysite.co.uk/public_html/PP/Make_Xml.php db=LONDON
Run Code Online (Sandbox Code Playgroud)
而且,从您的 PHP 脚本中,您不会将数据放入$_GET,而是放入$_SERVER['argv']
例如,如果我创建一个temp.php包含以下内容的脚本:
<?php
var_dump($_SERVER['argv']);
Run Code Online (Sandbox Code Playgroud)
这样称呼它:
php temp.php db=LONDON
Run Code Online (Sandbox Code Playgroud)
会给我以下输出:
array(2) {
[0]=>
string(8) "temp.php"
[1]=>
string(9) "db=LONDON"
}
Run Code Online (Sandbox Code Playgroud)
然后,请注意,您可能应该从 crontab调用php可执行程序,而不是直接调用PHP 脚本——除非您使其可执行。
这可能意味着使用这样的东西:
* * * * * /usr/bin/php /srv/www/mysite.co.uk/public_html/PP/Make_Xml.php db=LONDON
Run Code Online (Sandbox Code Playgroud)
注意:您可能需要将路径调整为php.
| 归档时间: |
|
| 查看次数: |
10904 次 |
| 最近记录: |