cron php 作业无法在 Mac OS 中打开网络安装卷上的文件

Psp*_*lly 0 php cron

我有一个 php 脚本,它读取从网络上的另一台计算机安装的日志文件。另一台机器是 PC,它通过 Mac 上的 /Volumes/log/ 进行安装。我已验证 /Volumes/log/ 文件夹的权限,我可以读取、写入等。

当我直接从终端运行 php 作业时:

php /Users/server/Projects/logreader.php 
Run Code Online (Sandbox Code Playgroud)

它工作得很好。该脚本打开 /Volumes/log/debug.log 文件并可以读取它。但是,当我尝试通过 cron 作业运行完全相同的脚本时,出现以下错误:

警告:文件(/Volumes/log/debug.log):无法打开流:不允许操作

以下是 cron 作业:

* * * * * /usr/bin/php /Users/server/Projects/logreader.php > /Users/server/Desktop/output.txt 2&1
Run Code Online (Sandbox Code Playgroud)

以下是 php 文件中用于打开日志的行:

$path = "/Volumes/log/debug.log";
$data = file("$path", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
Run Code Online (Sandbox Code Playgroud)

我尝试过在用户通过 sudo su 以 root 身份登录时创建 cron 作业,但两者都出现相同的错误。

ls -l 在日志文件上的输出:

-rwxrwxrwx  1 server  staff  15179256 14 Jun  2021 /Volumes/log/debug.log
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

Psp*_*lly 5

通过在系统偏好设置 -> 隐私和安全 -> 隐私中为 cron 提供“完整磁盘访问”解决了该问题。谢谢大家