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 が実行されるように設定されているものです。