在 crontab 中执行 php 函数
Execution of a php function in crontab
我想在 crontab 中执行一个 php 函数,就像在 URL 中一样:
yourdomain.com/yourphp.php?function=pwdTimeout
我试过类似的方法,但没有用
* * * * * /var/..../webpage/yourphp.php?function=pwdTimeout
如何在 crontab 的帮助下执行 php 函数。非常感谢您的帮助。
我的 php- 文件看起来像:
<?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(){...}
}
?>
我应该在哪里修改我的代码?谢谢:)
没有 GET 参数:
***** /bin/php /var/..../webpage/yourphp.php
使用 GET 参数,但需要网络服务器 运行 /var/..../webpage/ as DocumentRoot
***** /bin/wget -O /dev/null -q http://127.0.0.1/yourphp.php?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
),但您需要 explode()
它,如下所示:
$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')
你误会了,cron 作业是一个在给定时间运行脚本的调度程序。所以你需要将代码放在一个文件中并在 cronjob 中配置该路径。
我想在 crontab 中执行一个 php 函数,就像在 URL 中一样:
yourdomain.com/yourphp.php?function=pwdTimeout
我试过类似的方法,但没有用
* * * * * /var/..../webpage/yourphp.php?function=pwdTimeout
如何在 crontab 的帮助下执行 php 函数。非常感谢您的帮助。
我的 php- 文件看起来像:
<?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(){...}
}
?>
我应该在哪里修改我的代码?谢谢:)
没有 GET 参数:
***** /bin/php /var/..../webpage/yourphp.php
使用 GET 参数,但需要网络服务器 运行 /var/..../webpage/ as DocumentRoot
***** /bin/wget -O /dev/null -q http://127.0.0.1/yourphp.php?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
),但您需要 explode()
它,如下所示:
$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')
你误会了,cron 作业是一个在给定时间运行脚本的调度程序。所以你需要将代码放在一个文件中并在 cronjob 中配置该路径。