写了一个定时采集数据的php脚本,用crontab 执行php脚本无效
- 到了脚本设定的定时执行时间之后,查看本地的文件输出没有内容
- 首先是断定没有执行脚本
- 然后写了一个简单的时间输出脚本 /bin/date >> 输出文件的全路径
- 发现crontab是正常执行的
- 全局搜索了一下 php输出的日志文件 find / -name 日志文件
- 发现在root目录下
- 结论,在php中输出./xx 这样的相对路径,在命令行里面的时候,是相对于脚本所在目录
- 在crontab中执行的时候,是相对用户的根目录 如 /root/日志文件
- 解决方法,php中进行写文件的时候,路径名称用全路径即可。