Ubuntu 16.04 上有一个运行 PHP 脚本的 Cron 作业
$parseinfo = 'parseme.json';
$handle = fopen($parseinfo, 'w');
fwrite($handle, json_encode($res));
将数据解析为 JSON 文件。PHP 脚本应该在此 PHP 脚本所在的同一文件夹中写入数据,但我遇到了一个问题,即 JSON 被保存到根目录的主目录中:
这就是我设置 Cron 工作的方式:
*/10 * * * * root /usr/bin/php /var/www/somederictory/somefolder/parse.php > /dev/null
从终端:
ssh [email protected]
cd /etc
crontab -e
:x
简而言之:JSON 正在被保存/root
,而我希望它被保存到/var/www/somederictory/somefolder/
我应该怎么做才能修复它?
编辑:它不是重复的,PHP 有效,JSON 正在保存,但方式错误。我要求帮助我了解当前的 Cron 设置有什么问题。
默认情况下,Cron 作业在用户的主目录中执行。虽然在您的脚本中没有提供要保存输出文件的路径,但它将被保存到执行脚本的目录中。
根据问题,您希望将
.json
文件生成到脚本所在的同一目录中。所以(在这种情况下)你必须以某种方式改变你的代码,类似于这样:如果您不想更改脚本,您可以通过以下方式更改 Cron 作业: