我有一个运行 php 文件的 cron 作业。在 php 文件中,它需要另一个文件。对于由 cron 运行的其他 php 文件,我执行相同的 require 文件,它仅适用于文件。我已将所有涉及的文件的权限更改为 777(用于测试),但问题仍然存在。当我从命令行执行文件时,它运行得很好。
为什么该文件不允许此 1 php 文件的权限?
这是我从 cron 收到的错误:
[Fri Mar 29 00:05:01 2013] [warn-phpd] mmap cache can't open /home/rpn/public_html/admin/admin_functions.php - Permission denied (pid 29776)
PHP Warning: require(/home/rpn/public_html/admin/admin_functions.php): failed to open stream: Permission denied in /home/rp/public_html/cron/cron-boxscores.php on line 6
Warning: require(/home/rpn/public_html/admin/admin_functions.php): failed to open stream: Permission denied in /home/rp/public_html/cron/cron-boxscores.php on line 6
PHP Fatal error: require(): Failed opening required '/home/rpn/public_html/admin/admin_functions.php' (include_path='.:/usr/lib/php:/usr/local/lib/php:/home/rp/php') in /home/rp/public_html/cron/cron-scrape-boxscores.php on line 6
Fatal error: require(): Failed opening required '/home/rpn/public_html/admin/admin_functions.php' (include_path='.:/usr/lib/php:/usr/local/lib/php:/home/rp/php') in /home/rp/public_html/cron/cron-boxscores.php on line 6
这是第 6 行:
require('/home/rpn/public_html/admin/admin_functions.php');
这是显示文件和权限设置的目录:
root@host [/home/rpn/public_html/admin]# ls -l admin*
-rw-r--r-- 1 nobody nobody 19022 Mar 8 14:18 admin_functions.php
nobody:nobody 是 Apache 设置运行的对象。