0

我正在运行在 CPanel 中配置的 cron 作业:

**cd /home/DOMAIN_A/public_html/ ; php host_cron_job.php**

在 host_cron_job.php 文件中,我尝试使用绝对文件路径访问同一服务器中的其他文件,但它是其他域,例如:

**include "/home/DOMAIN_B/public_html/config.php";**

但我得到这个错误:

**<b>Warning</b>:  include(/home/DOMAIN_B/public_html/config.php) [<a href='function.include'>function.include</a>]: failed to open stream: Permission denied in <b>/home/DOMAIN_A/public_html/host_cron_job.php</b>**

有人有解决这个问题的方法吗?

4

1 回答 1

0

运行 Cron 任务的 UNIX 用户没有访问权限/home/DOMAIN_B/public_html/config.php。以该用户身份登录,并尝试逐步访问此路径。chmod使用命令根据需要调整权限。

用户必须能够“执行”以下目录(这意味着“进入那些目录”以获得 UNIX 权限):

  • /
  • /家
  • /home/DOMAIN_B
  • /home/DOMAIN_B/public_html

并且它必须对/home/DOMAIN_B/public_html/config.php和都具有读取权限/home/DOMAIN_B/public_html/config.php

基本上,您的任务应该是:

* * * * * php /home/DOMAIN_A/public_html/host_cron_job.php

或者

* * * * * cd /home/DOMAIN_A/public_html && php host_cron_job.php

取决于您的环境需求,以及您选择的调度参数。

注意:我宁愿使用&&';',如果一开始进入目录失败,这将避免PHP脚本的执行。

于 2013-10-07T19:04:07.917 回答