XAMPP(ザンプ)をインストールしてローカル環境でWordpressを使用していたある日…アップロードした画像を記事に挿入する際に画像のサイズがフルサイズしかなく、サムネイルや中、大サイズの画像が出てきませんでした。
メディア設定やfunctions.phpを確認するも解決に至らず…
詰まっていたのですが、どうも初期状態のXAMPPではGDライブラリが有効化されておらず、画像の自動作成が行われないようです。
この度GDライブラリを有効化したところ、アップロード時にサムネイルや中、大サイズを自動生成できるようになりました。
Wordpressでフルサイズしかない場合に確認したい内容と、XAMPPでサムネイルや中、大サイズの画像を生成する方法を記載してます。
この記事の目次
WordPressで画像サイズがフルサイズしかない時の確認
XAMPPでインストールしたWordpressに画像をアップロードしたのはいいが、フルサイズ以外の画像サイズが出てこない…
この状態で考えられる主な原因はアップロード時にWordpressによって別サイズの画像が自動生成されていない事です。
2021.10.8追記
先日「アイキャッチのサイズが変更されない」という問題でこの記事が役立ったとシェアしていただきました。
Wordpressで使用される画像サイズは数種類あり、ブログのパーツごとにサイズを出し分けてあるのでそのような内容でお困りの方にも役立つかもしれません。
メディア設定の確認
まず疑うべきはメディア設定です。
ココの数字が0になっている画像サイズは自動生成されません。
(テーマで使用する別サイズの画像は生成される可能性あり)
インストール直後のXAMPPでは当然初期設定でサムネイル150px、中300px、大1024pxと数字が入力されていましたので問題なし!
functions.phpの確認
functions.phpにコードを追加することで画像のリサイズ制御ができるので過去に何か画像処理系のコードを書き込んでいる可能性があります。
今回は真っ新なWordpressをインストールした直後なので可能性はなし!
XAMPPでGDライブラリを有効化する
次にWordpressの画像処理で使われていそうなライブラリを確認します。
するとPHPのGDライブラリがXAMPPで有効になっていないことが判明しました。
(大体がGDライブラリを使用。imagickというのも使われ始めました。)
Windows10です。MacやLinuxでは異なる場合があるのでご了承ください。
インストール直後のXAMPPにも入っていました。
が、読み込んでいないようです。
コチラを有効にしないとWordpressに画像をアップロードした際にフルサイズ以外の画像が自動作成されません。
php.gd.dllとは?
php.gd.dllとは、PHPでJPEGやPNGといった画像の処理を行えるGDライブラリというものを司る拡張ファイルです。
XAMPP内に同梱されていましたが初期設定では有効になっていませんでした。
ポイント
PHPのバージョンによって異なるファイル名に注意!
- PHPバージョン7系:php.gd2.dll
- PHPバージョン8系:php.gd.dll
新しいバージョンのXAMPPではPHPのバージョンが8.○○になっているので
「gd2」ではなく「gd」を有効にする必要があります。
続いてGDライブラリを読み込んで有効化するのですが、新しいザンプで同梱されているPHPはバージョン8になっており、ファイル名が変更されていました。
gd2をダウンロードして有効化してもうまくいかなかったので注意です。
(もしdllファイルがない場合はネット上でダウンロード可能)
php.iniでphp.gd.dllを読み込む
では早速XAMPP内のphp.iniファイルを編集してGDライブラリを読み込むように設定変更します。
XAMPPインストールフォルダ > xampp > php > php.ini
に進み、php.iniファイルを開きましょう。
開いたら最終行(一番下)に以下を追加。
php.ini
extension=php_gd.dll

php.iniファイルの最終行にコードを追加
追加したら保存します。
Apacheを再起動しないと反映されないので注意!
これでWordPressのメディアに画像をアップロードした際に、サムネイル、中、大サイズが自動生成されるようになります。
GDライブラリの動作確認
先ほどの作業で無事にフルサイズ以外の画像が生成されるようになったかと思いますが、念のためGDライブラリが起動しているか確認する方法です。
ザンプのルート直下にphpinfo.phpというファイルを作ります。
メモ帳などで作成する場合は拡張子が.txtではなく.phpになるように注意。
phpinfo.php内に下記を記入して保存する。
<?php
phpinfo();
?>

作成したphpinfo.phpファイル内のコード
コチラのコードが記述されたファイルにアクセスすることでPHPに関する設定や動作環境を確認することができます。
少しスクロールしたところにgdという項目があります。
「GD Support」がenabledになっていればGDライブラリが有効になっています。
関連記事
phpinfoについて詳しくはコチラ(↓)
phpinfoを作成して確認するまでの手順を詳しく解説。phpの設定値やモジュールの動作確認などに便利!
この項目自体がなければGDライブラリが読み込まれていないと思われます。
まとめ
今までWordpressを扱っていてアップロードした画像を記事に挿入する際にフルサイズしか存在しないということがなかったので戸惑いました。
レンタルサーバーでは初めからGDライブラリが有効になっているので、XAMPPのように自分でサーバーを立てたときに詰まる内容かと思います。
そもそも共有サーバーではPHPファイル内なんて触れませんし…
関連記事
■フルサイズの画像が4032×3024から2560×1920に変更されていました。
自動リサイズする処理を担うのもこのGDライブラリのようです↓
WordPressで自動生成される「-scaled」が付いた画像とは?高画質画像の自動リサイズを停止する方法。
関連記事
■Wordpressでimagickライブラリを有効化する方法はコチラ。
サーバーでimagickを有効化する方法。WordPressの「1つ以上の推奨モジュールが存在しません」を解決する。