web-dev-qa-db-ja.com

Pleskファイルのパーミッション-Apache / PHPがユーザーアカウントと競合しています

Apacheユーザー(id = 40)を使用してさまざまな自動ディスク操作を実行するDrupalサイトを構築しています。

問題は、サイトがユーザーID 10001(つまり私のメインFTPアカウント)に属するサブドメインに設定されているため、ファイルシステムがそのユーザーIDに属していることです。

だから私はこのようなエラーを受け取り続けます:

warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. 
The script whose uid is 10001 is not allowed to access /var/www/vhosts/domain.com/httpdocs/sites/default/files/images/user owned by uid 48 in /var/www/vhosts/domain.com/httpdocs/includes/file.inc on line 579.

Httpd.confのApacheグループをApache:psaclnに変更しようとしました。psaclnはすべてのWebユーザーのデフォルトグループですが、それは役に立ちません。

現在の状況は次のとおりです。

  • ..../files/images/= 777およびchown = ftplogin:psacln
  • ..../files/images/user = 775およびchown = Apache:psacln
  • ..../files/tmp = 777およびchown = ftplogin:psacln

したがって、明らかにuid 40と10001の両方に、関連する3つのディレクトリのいずれかに書き込む権限がありますが、それでもできません。

ここで何かが足りませんか?誰か助けてもらえますか?

[〜#〜]編集[〜#〜]

解決策は、すぐに使用できるモードではなく、CGIモードでApacheを使用するようにドメイン/サブドメインを設定することでした。

ありがとう!

3
MrFidge

どのバージョンのPleskを使用していますか?おそらく、サイトにPHP-CGIを使用するようにサイトを変更できるため、任意のPHPスクリプトがFTPユーザーとして実行されます。次に、httpdocs階層内のすべてのファイルがFTPユーザー。多分これは役に立ちますか?

1
Imo

Drupalでもこの問題が発生しました。

私はphpのセーフモードを無効にすることでそれを解決しました。これは、Pleskを介して、またはdrupalを実行しているドメインのconfディレクトリにあるhttpd.includeを編集してから、Apache2ctl gracefulを実行することで手動で実行できます。

2
Alan MacKenzie