2009-08-14 4 views
1

私は、ブラウザを使ってPHPスクリプトをcronジョブとして実行するのと、それをアクセスすることとの違いが何であるか、混乱していると思います。 test.phpをSafariでテストすると、期待どおりにテキストファイルに書き込み、DBエントリなどが作成されます。cronジョブとして実行されると、テキストファイルへの書き込みを除くすべてが実行されます。誰かが私にcronジョブスクリプトの限界を説明することはできますか?

すでに、PHPパーサには、 #!/ usr/bin/php をファイルの先頭に挿入して処理していません。

Safariで動作しているときに、自分のスクリプトがcronでテキストファイルに書き込むのはなぜですか?

(それは私が考えていない照明されない明らかに、まっすぐ前方にfopen、fwriteの、コードのfcloseのビットです)

答えて

3

これはユーザー権限になります。 apacheの(または任意のウェブサーバを使用している)は、そのフォルダへの書き込み権限を持っているかもしれないが、あなたがそれらを同じグループの両方のメンバーを作るか、またはあなたの問題を解決しなければならないこと 書き込み可能なフォルダーの世界を作る場合は、cronのユーザーがいない ん

世界の書き込み可能なことを心に留めておくのは、良いセキュリティ対策ではありません。

+0

オハイオ州よいアイデア。ホストがユーザーグループ(Joyent hosting)を設定できるかどうかを確認します。 –

1

は、fopenのを行う前にいくつか存在し、書き込み可能な場所にchdirしてみてください。クーロンがあなたのものをどこに運んでいるのかわからない。

関連する問題