【发布时间】:2018-08-08 04:14:50
【问题描述】:
我在我的 public_html 文件夹名称 cron.php 中为一个文件定义了一个简单的 cronjob,这个文件只是每分钟将当前日期时间插入到 log.txt 文件中。
/usr/local/bin/php -f /home/{{user}}/public_html/cron.php >/dev/null 2>&1
这每分钟都在工作,但是;
cron.php 位于/home/{{user}}/public_html/cron.php
在cron.php 中,$filename 的值如下:
$filename= "log.txt";
如果我直接进入浏览器并输入http://www.sitename.com/cron.php 它正在将当前日期时间写入 log.txt 文件并正常工作。
crontab 每分钟都在做同样的事情,但是,如果这个脚本触发了
通过 cron 服务 log.txt 文件写入/home/{{username}}/ 文件夹,
所以在 public_html 之外。
怎么可能,我该如何解决这个问题?
注意:如果我将文件名值更改为$filename = "/home/{{user}}/public_html/log.txt";,那么它会再次起作用。但我不想指定完整路径,我需要在同一文件夹中创建一个log.txt 文件。
【问题讨论】:
-
因为工作目录不同。使用
__DIR__。 -
指定文件的完整路径