人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

cron、PHP、パーミッションについて

cronでPHPプログラムを実行しファイルの書き込みをしたところ
Permission Denied のエラーになりました

cronには
0 * * * * root /path/test.php
と記述し、rootユーザーで実行するようになっています。

test.phpの中ではfile_put_contentsで/path/hoge.txtというファイルを書き込みますが

/path/hoge.txtのパーミッションは
-rw-r--r-- 1 root wheel
となっています。

rootが所有者となっていますので、
問題なく書き込める気がするのですが、
何がおかしいのでしょうか。

ちなみにhoge.txtが存在する/pathディレクトリのパーミッションは
drwxr-xr-x 2 root wheel です。

よろしくお願いします。

●質問者: anesawa
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● studiocherry
●200ポイント ベストアンサー

/path/test.php のパーミッションは、どうでしょうか?

コマンドラインから 「/path/test.php」で、実行できますか?

コマンドラインから 「php /path/test.php」 だと実行できますか?


studiocherryさんのコメント
他には、shebang の問題というのもあるかな。

anesawaさんのコメント
/path/test.phpも -rw-r--r-- 1 root wheel です。 /path/test.php を実行するとCommand not found php /path/test.php を実行するとParmission denied になります。

anesawaさんのコメント
CGIで動かしてないので、shebangは関係ないかなと思います。 またsudo php /path/test.php を実行すると エラーにならずhoge.txtが生成されます。

anesawaさんのコメント
0 * * * * root /usr/local/bin/php /path/test.php と書くことで解決しました。。 エラー内容がParmission deniedになるのが納得いきませんが、、 ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ