包括路径和cron

use*_*162 4 php

我正在运行一个调用php脚本的cronjob.当cron调用该文件时,我得到"无法打开流".当我cd到目录并从该位置运行文件时,一切都很好.基本上,我想要包含的include_once()文件是php脚本所在的两个目录.

有人可以告诉我如何从cronjob工作吗?

sou*_*rge 6

有多种方法可以执行此操作:您可以cd进入cron脚本中的目录:

cd /path/to/your/dir && php file.php
Run Code Online (Sandbox Code Playgroud)

或者指向相对于PHP中当前脚本的正确包含文件:

include dirname(__FILE__) . '/../../' . 'includedfile.php';
Run Code Online (Sandbox Code Playgroud)


pax*_*blo 5

cron以最小的环境开始是臭名昭着的.或者:

  • 让你的脚本建立自己的环境;
  • 有一个特殊的cron脚本,它设置环境然后调用你的脚本; 要么
  • 在crontab中设置环境.

最后一个例子(如果没有太多需要设置的东西,我倾向于使用它)是:

0 5 * * * (export PATH = /mydir:$PATH ; myexecutable )
Run Code Online (Sandbox Code Playgroud)