微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在crontab中执行php函数

我想在crontab中执行一个PHP函数,就像在URL中一样:

yourdomain.com/yourPHP.PHP?function=pwdTimeout

我尝试过类似的东西,但它不起作用

* * * * * /var/..../webpage/yourPHP.PHP?function=pwdTimeout

如何在crontab的帮助下执行PHP函数.非常感谢帮助.

我的PHP-File看起来像:

<?PHP 
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')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐