に私は最近、質問尋ねます:私は作成しようとしています何Write over a htaccess file?PHPはサブフォルダにファイルを書いていないが、Webルート
は、友人のためのCMSシステムであるが、前記システム上の任意のftpの詳細を格納せずに(同様に他の多くの既存のシステムでは、cushy cmsなどがあります.NBシステムでは、メンバーが自分のサーバーにログインしてから自分のサーバーにファイルを転送する必要があります)。
クライアントサーバーのサーバーにconfig.phpがあります。 config.phpが命令を受け取ると、自分のサーバ(私のcmsシステム)からそのWebルート内のフォルダに新しいファイルを書き込もうとします。これはphp関数fopenで行います。
このシステムをテストしたいくつかのサーバーでは、config.phpはそのサブフォルダにアクセス許可がある場合を除いて、ファイルをWebルート内のサブフォルダに書き込むことができません。上記の投稿では、両方の応答がこれをしないことを強く示唆しました。(すなわち、777を設定しないように)
もう一度クイックテストを行ったので、クライアントのサーバ上に同じconfig.phpが書き込めますWebroot(この場合は 'public_html')に移動します。
質問
どのようにすることができますパスでのPHPスクリプト:。 $ _SERVER [ 'DOCUMENT_ROOT'] '/ cmssystem/config.phpの';など
(permisions 777なし)のフォルダに書き込むことはできません:。 $ _SERVER [ 'DOCUMENT_ROOT'] '/ cmssystem /ファイル/';
ただし、document_rootに同じファイルを書き込むことはできますか?これはほとんどのサーバーでも同じでしょうか?
どのユーザーがそのフォルダを所有していますか?ユーザーがApacheを実行している(これがあなたのサーバであると仮定します)、そのフォルダへの書き込みアクセス権を持っていますか? – afuzzyllama
Ah ok .. yea .. thx :)フォルダ "cmssystems"は、config.phpとさらにサブフォルダ "files"を含むフォルダです。 "cmssystems"フォルダは通常、ftpアカウント(通常はfilezilla経由)でユーザによって作成され、そのフォルダの所有者とグループはftpユーザです... これが次にPHPプログラム(つまり、apacheユーザ)は "cmssystems"フォルダにファイルを書き込めませんか? もしそれが意味をなさないなら、私は、Apacheのユーザー名が通常このディレクトリに書き込めるように、$ _SERVER ['DOCUMENT_ROOT']にすべてのファイルを書き込むと思います。 – John