[WordPress] アップロードしたファイルがダウンロード・画像表示ができない

IIS

概要

  • IISで稼働しているWordPressにてファイルをアップロードはできるが,ダウンロードや画像表示ができない。
  • \wp-content\uploads  配下にある該当ファイルのNTFSアクセス権を調べると,IIS_IUSRS ユーザーグループに[特殊なアクセス許可] のみになっており,読み取り権限が付与されていない。上位のフォルダのアクセス権が引き継がれていない

対応

PHPによるファイルアップロードの場合,まず PHP.ini にある upload_tmp_dir フォルダにまずは保存され,それからPHPプログラムで指定されたフォルダにファイルが移動されている。この upload_tmp_dir で指定されているフォルダのアクセス権が,そのまま 引き継がれている(NTFSの関係上,おそらく同一ドライブの場合)

STEP1 PHP.iniで設定されている upload_tmp_dir の値を調べる

php.ini ファイルの場所はインストールされている状況にもよるが,
C:\Program Files (x86)\PHP\v7.1

php.ini ファイルをメモ帳などで開いて,upload_tmp_dir を検索する。複数ある場合があるので注意が必要。 Web Platform Installer で WordPress をインストールしている場合,[WebPIChanges] セクションにある upload_tmp_dir 値 が使用されている。 デフォルトだと,C:\Windows\Temp

STEP2 一時フォルダのNTFSアクセス権を調整する

STEP1で調べた upload_tmp_dir フォルダのNTFSアクセス権(セキュリティ)を 調整する
IIS_IUSRS ユーザーグループ 読み取り許可 を付与する。数では読み取りと実行も許可しているが,読み取りのみでいいかと思う。

IIS_IUSRS

プロパティ

Windows Server 2019
WordPress 5.2.3
PHP 7.1

コメント

スポンサーリンク
タイトルとURLをコピーしました