我有一个 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)
任何帮助将不胜感激。