我想在crontab中执行一个php函数,就像在URL中一样:
yourdomain.com/yourphp.php?function=pwdTimeout
我尝试过类似的东西,但它不起作用
* * * * * /var/..../webpage/yourphp.php?function=pwdTimeout
如何在crontab的帮助下执行php函数.非常感谢帮助.
我的php-File看起来像:
define ('database', $database); // the variables are defined and tested
define ('host', $host);
define ('db_username', $db_username);
define ('db_password', $db_password);
if(isset($_GET['function'])){
$view = new functions();
$view->$_GET['function]();
}else{
echo 'Function not found'
}
class functions{
function getUsername(){....}
function setPassword(){...}
function pwdTimeout(){...}
}
?>
我应该在哪里更改代码?谢谢:)
解决方法:
使用函数名作为参数在CRON选项卡中调用脚本:
* * * * * /path/to/php /var/www/webpage/yourphp.php pwdTimeout
并使用$argv检索参数的值:
$functionName = $argv[1]; // outputs pwdTimeout ([0] is the filename)
请注意,你也可以使用一个键作为你的参数($php yourphp.php function = pwdTimeout),但你需要爆炸()它,如下所示:
$parameters = explode('=', $argv[1]); // outputs array('function' => 'pwdTimeout')
最后,您可以使用getopt()进行以下调用:
* * * * * /path/to/php /var/www/webpage/yourphp.php -f pwdTimeout
并像这样使用它:
$parameters = getopt('f:'); // outputs array('f' => 'pwdTimeout')
标签:php,linux,cron,crontab
来源: https://codeday.me/bug/20190829/1763392.html