gpt4 book ai didi

php crontab -l 从命令行显示不同的结果

转载 作者:行者123 更新时间:2023-12-04 18:52:37 25 4
gpt4 key购买 nike

我在基于 ubuntu 的亚马逊 ec2 上的/var/www/html 文件夹中创建了一个文件名“testCrontab.php”,

$output = shell_exec('crontab -l');
var_dump($output);

问题是当我在浏览器中调用此文件时,它显示

string(207) "0 0,6,12,18 * * * /usr/bin/php /var/www/html/testExec.php 0 3 * * * /usr/bin/php /var/www/html/testCrawlback.php 0 4 * * * /usr/bin/php /var/www/html/testInsertCard.php * * * * * NEW_CRON * * * * * NEW_CRON "



我猜到了 NEW_CRON来自我测试从 php 插入新 cron 的其他时间,
但是当我通过发出 /usr/bin/php /var/www/html/testCrontab.php 从命令行调用此文件时表明

string(169) "0 0,6,12,18 * * * /usr/bin/php /var/www/html/testExec.php 0 3 * * * /usr/bin/php /var/www/html/testCrawlback.php 0 4 * * * /usr/bin/php /var/www/html/testInsertCard.php"



另外,命令 crontab -l导致后者的输出。

请帮助启发我这里发生了什么。

最佳答案

结果会有所不同,因为当您通过浏览器执行脚本时,用户将是 www-datanobody .它将显示该用户的 crons。如果您从命令行执行脚本,它将显示该特定用户的 crons。

编辑

为网络用户设置 cron

sudo crontab -u webuser -e

列出网络用户的 crons
sudo crontab -u webuser -l

网络用户将是 nobodywww-dataapache
您可以通过在 Web 浏览器中执行以下代码来找到它。
 <?php $output = exec('whoami'); 
echo $output;
?>

关于php crontab -l 从命令行显示不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23762782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com