4

クライアント用にサイトをコピーしています。サーバー上にサイト全体のクローンを作成しましたが、機能しているようです。サイトを彼のサーバーにコピーし、(paypal proを使用して)支払いを行おうとすると、許可エラーが発生します。

`Warning: error_log(../PayPal.log) [function.error-log]: failed to open stream: Permission denied`

すべての権限を777に変更しようとしましたが、このエラーが引き続き発生します。

私はグーグルで周りを見回しました、そしてここで私はそれがphp設定(safemodeまたはopen_basedir)と関係があるかもしれないのを見ました、しかし私がそれをチェックするときphpinfo()、safemodは無効であり、open_basedirは空です。

アイデアを持っている人はいますか?

4

1 に答える 1

3

アップデート

仮想ホスト(または単一のホスト)を追加するときは、Apache内でDocumentRootを設定する必要があります。そのディレクティブは、ファイルを探してWebサイトのルートをマップする場所をapacheに指示します。

DocumentRoot "/var/www/vhosts/www.example.com"

ただし、そのディレクティブだけでは、そのディレクトリを読み書きするためのクライアントへのアクセスは許可されません。のように、そのディレクトリの構成を指定する必要があります。

<Directory "/var/www/vhosts/www.example.com">
      Options Indexes FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from all 
</Directory>

ドキュメントルート(この例内)が/var/www/vhosts/www.example.comの場合、apacheは/ var / www / vhosts /への書き込み/実行アクセス権を持っている必要があり、/ var / www /vhosts/は次のことを行う必要があります。 apache内で構成されます。


わかった。

すべてが777の場合、問題はopen_basedirまたは/およびapacheのディレクティブに関連している可能性が高いと思います。

../Paypal.logがapacheおよびopen_basedir内でアクセス可能であることを確認してください。また、その../スコープ内に他に何があり、それがセキュリティにどのように影響するかを覚えておいてください。

于 2013-02-07T02:37:40.163 に答える