我正在运行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>**
任何人都有解决这个问题的方法吗?
答案 0 :(得分:0)
运行Cron任务的UNIX用户没有访问/home/DOMAIN_B/public_html/config.php
的权限。以此用户身份登录,并尝试逐步访问此路径。使用chmod
命令根据需要调整权限。
用户必须能够“执行”以下目录(对于UNIX权限,这意味着“输入那些目录”):
它必须具有/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脚本。