2013-10-01 132 views
0

你好,我是有问题cron作业执行浏览器,但不是在运行在终端这一脚本的cron,终端

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

当我粘贴它的工作原理和浏览器这个cron的脚本下载文件到我的本地服务器,但在终端它没有执行,我已经阅读了无数的文章在互联网上,他们说,你不能在你的cron使用特殊的参数,如“密码= mypassword”

我试过重塑这个命令有许多方法无济于事,卷曲,搞定,wget和wget -q也不管用。

回答

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并且您需要参数,那么您的程序架构很糟糕。您应该在脚本中硬编码这些参数,例如变量/属性/等。

+0

你说得对,程序架构非常糟糕,感谢您的帮助,如果它给我带来这么多麻烦,我应该把程序扔掉。 – user2685272