1

私はfopenファイルでこの問題を抱えています。誰かが解決策を持っているかもしれません...

fopen がブラウザ経由でファイルを作成すると、そのファイルは「nobody」によって所有されます。crontab 経由で同じスクリプトを実行すると、許可が拒否されます。ファイルが crontab によって作成された場合、そのファイルは私の cpanel ユーザー名によって所有されており、Web ブラウザー経由で開くことができません。

したがって、問題は、使用される各方法が、作成されたファイルを所有するために異なるユーザーを使用していることです。どうすればこれを回避できますか?crontab を nobody として実行する方法を検索しましたが、root である必要があり、複雑に思えます。cpanel ユーザーとして Web ページを実行することについては何も見つかりませんでした。私のphpスクリプトにはchmod 777があり、ファイルがあるフォルダーにも777があることを確認してください。

何か案は?ありがとう。

4

1 に答える 1

0

私はシステム管理者ではありませんが、サーバーにアクセスできる場合は、これを試すことができます

  1. 「webwriters」という新しいグループを作成し、そのグループに nobody と自分自身を追加します
  2. ファイルを書き込むディレクトリの「chmod g+s webwriters」
  3. 所有者とグループが書き込み権限を持つように、各ファイルに「chmod 660」

サーバーにアクセスできない場合は、より複雑になりますが、解決可能です。スクリプトを cron で直接実行する代わりに、「wget」を使用して Web ページをダウンロードするか、URL で「file_get_contents」を呼び出す php スクリプトを使用して、Web サーバー自体でスクリプトを実行します。これは、サーバーがあまりにもきつくロックダウンされていないことを前提としています...

于 2011-12-11T15:44:03.507 に答える