Cron作业在浏览器中执行,但不在终端中执行

时间:2013-10-01 11:51:19

标签: php curl cron command

您好我在终端中运行此cron脚本时遇到问题

http://subdomain.website.com/database.php?password=mypassword

当我在浏览器中粘贴这个cron脚本时,它可以工作并将文件下载到我的本地服务器,但是在终端中它无法执行,我在互联网上阅读了很多文章,他们说你不能使用特殊参数你的cron喜欢“?password = mypassword”

我试图重新发明这个命令很多方面无济于事,curl,get,wget和wget -q也不起作用。

1 个答案:

答案 0 :(得分:1)

要使用参数从命令行执行PHP,您可以这样调用它:

$ php /path/to/php/file arg1 arg2 arg3

然后,在PHP脚本中使用

访问参数列表
$argv[0] // would return /path/to/php/file/
$argv[1] // returns arg1
$argv[2] // returns arg2 

如果你想制作你的脚本以便可以通过终端和浏览器访问它,你可以这样做:

$password = isset($argv[1]) ? $argv[1] : $_GET['password'];

虽然如果你将它用于CRON并且需要参数,那么你的程序架构很糟糕。您应该在脚本中对这些参数进行硬编码,例如变量/ property / etc.