WordPress ApacheとPHPの連携確認

このサイトも WordPress で作成しているのですが、なんせ始めたばかり。IT 歴はそれこそ四半世紀を超えているのですが、WordPress はまだまだです。




ApacheとPHPの連携確認の流れ

Apache と PHP、相性は良さそうですよね。でも、私は一度これでハマりました。その話は、↓↓↓ これを読んでみてください。

WordPressのPHPバージョンアップでハマった

事前準備と言うか、環境構築した際は、ちゃんと正しい設定になっていることを確認したほうがいいですね。

それでは、ApacheとPHPの連携確認の流れについて説明します。そんなに難しいはなしではないです。4ステップで実現できます。

  1. 確認用の PHP スクリプトを作成する
  2. 作成したスクリプトをドキュメントルートに入れる
  3. ブラウザでそのスクリプトにアクセスする
  4. ドキュメントルートからスクリプトを削除する

4ステップ目は、やらなくてもいいですが、セキュリティ上は必須です。

順に説明します。

確認用の PHP スクリプトを作成する

スクリプトと言ってもおおげさなものではないです。たった3行のスクリプトです。初めて見る方は、< 記号や、? があったりと、ちょっととっつきにくい感じがしますが、これらは PHP のお決まり文法です。

<?php
  phpinfo();
?>

1行目は、PHP スクリプトを開始するタグです。3行目は、逆に PHP スクリプトを終了するタグです。

2行目が、今回お世話になる Apache と PHP の連携状況を教えてくれる関数を呼んでいます。Apache 以外にも様々な情報を出してくれます。このたった1つの関数で、色々な情報をブラウザに表示してくれます。

スクリプトは、メモ帳でもなんでも構いませんので作成して、ファイル名を “phpinfo.php” として保存してください。ファイル名の最初の “phinfo” は変えても構いませんが、終わりの “.php” は変えてはいけません。PHPのスクリプトとしてサーバのApache が認識してくれなくなります。

200×200 高速大容量レンタルサーバ10G
mixhost

作成したスクリプトをドキュメントルートに入れる

これは、お使いの環境によってやり方は様々だと思います。FTP でアップロードしたり、scp でアップロードしたり、ssh で直接サーバにログインして、エディタで作成してもいいでしょう。

アップロードしたら、ドキュメントルートにある ”index.php” とオーナー/グループ、パーミッションを見比べてください。同じであればブラウザからアクセスできます。もし、オーナ/グループが違っていれば、一時的にリードのパーミッションを オーナー/グループ/その他 に対して付与してください。これでアクセスはできるはずです。





ブラウザでそのスクリプトにアクセスする

ブラウザで、”http(s)://あなたのサーバURL/phpinfo.php” にアクセスしてみてください。うまく行けば、下のような画面が出てきます。

もし、エラーとなった場合は、次のことを確認してみてください。

  • ドキュメントルートに入れたか
  • ファイル名は正しいか
  • ファイルにリード権がついているか
  • サーバ名、URLは合っているか

表示が成功したら内容を見てみましょう。一番上の左に PHP のバージョンが表示されています。これ以外にも多数の情報が表示されます。見えているのは、表示される情報のほんの一部です。この中には、セキュリティ上見られたくないものもあるのでご注意願います。

ドキュメントルートからスクリプトを削除する

と言うわけで、Apache と PHP の連携情報が見られたら、すぐにドキュメントルートから “phpinfo.php” を消去しましょう。そもそも、この記事を読んでくださった方は、ファイル名を “phpinfo.php” で作成しない方がいいですね。たとえ数分間だとしても、”phpinfo.php”  があると誰かがそれを狙ってアクセスすてくるかもしれません。ユニークな名前にしておいた方が、より安全です。

WordPressのPHPバージョンアップでハマった

このサイトも WordPress で作成しているのですが、なんせ始めたばかり。IT 歴はそれこそ四半世紀を超えているのですが、WordPress はまだまだ歯も生えてないかな。




Apache 、PHP 、WordPress でハマった

CentOS6.3 に WordPress4.9.5 を入れたのですが、元々PHP5.3.3 が既に入っていたのです。それで、PHP7.2.5 に上げようとして、yum で上げました。全然問題なく、php -v で見ると7.2.5に上がってます。よし、これで完了と思いきや、なにやら WordPress の動きがおかしい。

  • 外観 → カスタマイズ→サイト基本情報でサイトアイコンを登録しようとしたところ、推奨サイズの 512×512 のファイルのアップロード、メディアライブラリまでは登録できるのですが、サイトアイコンとして選択してもその先に進まず。
  • 同じく、推奨サイズの 512×512 以外のメディアライブラリに登録して選択をすると、画像切り抜きの画面に変わるのですが、「画像を切り抜く際にエラーが発生しました」とエラー出る。

こんな事象に遭遇したのです。しばらく解決策がわからず見て見ぬふりをしてしまったのですが、環境をもう一度確かめようと思い、まず PHP のバージョンや php-gd が認識されているか確認するため phpinfo 関数が入った “phpinfo.php” をドキュメントルートに入れて見てみました。中身は簡単、たった3行です。1行でもいいけど。

<?php
  phpinfo();
?>

“phpinfo.php” については、↓↓↓ この記事を参照してください。

WordPress ApacheとPHPの連携確認

200×200 高速大容量レンタルサーバ10G
mixhost

そしたらなんと、PHP7.2.5 のはずが、PHP5.3.3 じゃないですか。おまけに php-gd も認識されていない。これが原因かと言うことで、再度、シェル上で php -v を打ってみても7.2.5。う~ん、なんだろう。

答えは、Apache 側の設定でした。PHP5.3.3 は削除しているんですが、Apache のモジュールとしては残っていて、設定もそのままだったんです。

 #LoadModule php5_module modules/libphp5.so
 LoadModule php7_module modules/libphp7.so

/etc/httpd/conf/httpd.conf の中の php5 の行をコメントアウトして、php7 を追加。httpd を再起動して phpinfo.php で確認したところ、PHP7.2.5 が表示され、php-gd も無事認識されました。そして、2つの不具合も解消したわけです。

や~ハマった1週間。