我正在运行一个在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>**
有人可以解决这个问题吗?
运行 Cron 任务的 UNIX 用户没有访问 /home/DOMAIN_B/public_html/config.php
的授权。以该用户身份登录,并尝试逐步访问此路径。根据需要使用 chmod
命令调整权限。
用户必须能够"执行"以下目录(这意味着"输入这些目录"以获得 UNIX 权限):
- /
- /家 /
- 首页/DOMAIN_B /
- 首页/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脚本。