Docker上に構築したWordPressで画像編集に失敗する問題の対応

Docker-Composeでnginx,php,mysqlの3コンテナを連携し構築したWordpressにおいて
メディアフィルの編集でエラーとなる現象がありました。その原因と対処方法を公開します。

尚、上記前提となる環境については以下の記事を参照ください。

Docker-Composeでnginx,php,mysqlの3コンテナを連携する

DockerコンテナにWordPressをインストール

1.現象

Docker-Composeでコンテナ連携をして構築したWordpressにおいてメディアファイルを編集しようとすると以下の通りエラーとなり先に進めません。

(1)メディアファイルの選択

(2)画像を編集ボタンを押した後の画面

「ご利用中のホスティング環境は画像の回転機能に対応していません。」と表示され先に進めない。

2.原因

Centos上に構築したWordpressでは正常に画像を編集できますのでおそらくDocker環境の問題です。参考にさせて頂いたのはこちらの記事。

dockerのphp公式イメージでGDライブラリを使用する
どうもgdライブラリが無いと画像の編集ができないらしい。

但し、上記参考記事は、当構築環境と異なるコンテナを使用しているのでそのまま流用はできません。gdライブラリが無いからエラーになると仮定してさらに対応方法を調査しました。

すると。GitHubにphpのisueとして「Can’t install php7.0-gd #403」が登録されていました。まさしく同じコンテナで発生している問題なのでこの内容を取り込んで試してみます。

3.対処

DockerFileにスクリプトを追記し、php:7-fpmコンテナの起動時にgdライブラリと
必要な関連モジュールをインストールし環境を設定するようにします。

(1)DockerFile

以下の通り8行目から15行目までを追記しています。BaseにしたDockerFileは「Dockerコンテナ・ホスト間のフォルダ権限管理を改善」の内容を取り込んだファイルです。

(2)再起動

ビルドオプション付き再起動をしDockerFileの修正をphp:7-fpmへ反映させます。

(3)動作確認

以下の通り画像編集ができるようになりました。

4.リバースプロキシ用ymlファイル

以下はリバースプロキシ下で動作させる場合のYMLファイルです。

DockerコンテナにNginxリバースプロキシを導入 」をベース環境としてWordpressを導入した場合の設定になります。ここでWordpressはhogehoge1.comで動作している前提です。

スポンサーリンク
レクタングル大広告




レクタングル大広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大広告