gpt4 book ai didi

PHP Cronjob - 权限被拒绝?

转载 作者:行者123 更新时间:2023-12-04 22:26:43 35 4
gpt4 key购买 nike

因此,我设置了一个 cronjob 来运行以下命令:

php/var/www/path/to/cron/do-stuff.php

路径是正确的。该目录归 www-data 所有。

该脚本执行以下操作:

chdir( getcwd() );
echo shell_exec('whoami');

$handle = fopen(uniqid('TEST_') . '.tst');
fwrite($handle, 'foo');
fclose($handle);

这是我尝试运行 cron 作业时得到的输出:

www-data
PHP Warning: fopen(TEST_4e15266d09fa2.tst): failed to open stream: Permission denied

然而,当使用 su www-data 从 shell 执行此操作时——脚本执行得很好并且生成测试文件时没有出现问题。

知道为什么会这样吗?

编辑:我想 su www-data 可能是不必要的,因为 php 会以任何方式运行,但我试过了以防万一。正如您从输出中看到的那样,cron 和脚本作为 www-data 执行。

最佳答案

您是否尝试过将完整路径而不是文件名放入 fopen 函数中?

关于PHP Cronjob - 权限被拒绝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6605457/

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