Qiitaに記事を書くのがこれが初めてです。
今まではハマった事、解決方法などは色々と手元のノートに書いて記録してきました。しかしそれに限界を感じ、また自分のようにハマった人がいるんだったら、その人たちへの手助けになるかと思い書き始めようと思いました。
さて、今回のお題目はタイトルの通り。
安易にPHPのバージョンを上げたら色々ハマった(imagick編)
このたびWordPressの勉強をする必要が出てきたので、apacheのhttpd-vhosts.confを弄ってAliasでディレクトリを分けて、その中にWordPress5.6のファイル展開して突っ込む。
XAMPPでずっと開発してきて、別件のプログラムでMySQLも使っていた為、データベース系の設定もちょちょっと書いたらあっさりとHelloWorldの画面が出てきて拍子抜けした。
なんか、自分が現役だった頃と全然違う…。簡単すぎ…。(10年も経てばそりゃ変わる)
WordPressの設定画面を色々と弄り倒していたところ、サイトヘルスという場所に行きついた。
どれだけ自分の環境が安全であるかを教えてくれるらしい。
そこで指摘された点はこちら。
・SSL化されてない
・PHPのバージョン低すぎ
PHPのバージョンは確かにXAMPPを突っ込んだ2018年から全然変えてない。7.2.x。指摘されて当然。XAMPPの場合、バージョンを上げるにはアンインストール→新しいのをインストールするしかないらしく、ひーこら言いながら最新のXAMPPをインストール+前の設定の引継ぎをおこなった。
参考にしたサイトはこちら。
【XAMPP】最新版のXAMPPにアップデートする際の注意と手順【Web開発】【XAMPP】 – クラベル
https://cravelweb.com/webdesign/xampp-upgrade-setup
【2021/03/19日追記】
以前、このような紹介パターンでリンク踏んだら404で表示出来なかった経験があるので具体的にファイルおよびフォルダ名を追記します。リンク先の方には感謝しかありません。
apache系
1 httpd.conf
2 httpd-vhosts.conf
php系
1 php.ini
mysql系
1 my.ini
2 config.inc.php
3 \xampp\mysql\data(DBの内容が入ってるディレクトリ)
一気にファイルやディレクトリを差し替えると、XAMPPのコントロールパネルで起動した時に怒られる確率が高くなります。
慎重に、ファイルをひとつ入れ替えたら起動して様子をみるようにしましょう。
めでたくPHP8.0.2インストール完了。
再びサイトヘルスを開くと今度はまた色々と怒られた。
・SSL化されてない
・gdがインストールされていないか無効化されている
・imagickがインストールされていないか無効化されている
gdに関してはphp.iniのextension=php_gd.dllがコメントアウトされていた為、それを外してやる事で解決。
問題はimagick。XAMPPでimagickをインストールする手順が煩雑。imagick以外にもImageMagickも入れてやる必要があるため、ファイルを落としてきてインストール。こちらは参考にしたサイトは割愛。
ImageMagickもインストールしてPathも通した。php/ext/の下にphp_imagick.dllを配置して、php.iniにphp_imagick.dllを追加。
さて再起動。
phpinfo()の中にimagickが無い。
もしかしてPHP8系に非対応?
アタリでした。
WordPressのサポートに同じ状態になった人がいらっしゃいました。
https://ja.wordpress.org/support/topic/%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E7%92%B0%E5%A2%83%EF%BC%88xampp%EF%BC%89%E3%81%A7/
こればかりは手も足も出ません。imagick側の対応を待つしかないんでしょうか。
今回の教訓。「検証しないで安易にバージョン上げると大変になる」。
今回の件で「今まで動いていたTwitterOAuthが動かなくなった」編もありますので、後日書きたいと思います。
では。