CPI(KDDIウェブコミュニケーションズ)でWordPress用にphpのバージョンをあげたらハマったこと
スクラップ画像を表示するにはログインするかユーザー登録をしてください。
管理者が判断した上で、個人的な交流の範囲内で個人が収集している記事のスクラップをお見せします。
WordPressの管理画面でPHPのバージョンが古いため注意を促されていました。
今回CloudflareでSSL化したのですが、 WordPress の Cloudflare プラグインがphp7.0には対応していないようなので、バージョンをあげることにしました。
もともとこの WordPress はサーバー管理画面のインストーラーからインストールしたものですが、インストール時にphpのバージョンは勝手に決められ 、php7.0.32のiniファイルが設置されます。
特に php.ini の内容も触っていなかったので、サーバーの管理画面からPHP7.4.22のphp.iniを複写してサーバーにアップロードしました。
そのあと.htaccessファイルの記述を
AddHandler x-httpd-php74 .php
に書き換えてアップロードしたところ、「データベース接続確立エラー」・・・
一体何がと色々調べてみたものの中々原因がわかりませんでした。
mysqlのバージョンを変えた訳でもないし、接続するデータベースも同じ、 WordPress のファイルも一切触らずなので、最終的にやはり php.ini ファイルが怪しいとは思ったのですが「 WordPress 」「 データベース接続確立エラー 」で検索すると色々出てくるのでかえって遠回りしてしまいました。
最終的にphpinfo()で設定内容を確認していて発見したのが「mysqli.default_port」の設定でした。
なんとサーバーの管理画面においてあるベースの php.ini はポート3306なのに、 WordPress を管理画面のインストーラーを使ってインストールすると、自動で設置される php.ini の 「mysqli.default_port」 は3307で設定されていました。。。
これを変更したところ、無事データベースに接続できてサイトが閲覧できました。
意図があってポートを変更しているのかもしれませんが、迷惑な話でした。