Xserverが今なら最大50%OFF! 2022年11月25日(金)12:00まで

SSHでWebサーバーのPHPバージョンを確認する方法

この記事は約2分で読めます。
本文は約1226文字です

WebサーバーのPHPのバージョンを知るためによく使われるのが、phpinfo()を使う方法です。

この方法は確実なのがメリットです。

しかし、ブラウザ経由でphpinfo()を実行しなければならず、それぞれのサイトにphpファイルを作る必要があり、SSHなどから確認するのには向いていません。

そこで、この記事ではphpinfo()を使わずにSSH経由でcurlを使って簡単にPHPバージョンを確認する方法をまとめます。

この記事の内容はnginxのサーバーでは確認できません。

PHPのバージョンはレスポンスヘッダーに含まれる

特に出力の制限をしていない場合、PHPバージョンはレスポンスヘッダーのX-Powered Byで確認できます。

curlでレスポンスヘッダーを取得する

curlでサイトに接続して、レスポンスヘッダーを取得すると、X-Powered By経由でPHPバージョンを取得することができます。

curl -L -I http://hoge.com | sed -e 's/\r//g' | grep X-Power| uniq | cut -d: -f2 | cut -d/ -f2

-Lはリダイレクト先まで追跡するオプション

-Iはレスポンスヘッダーのみ取得するオプション

sedでは、curlが出力する余計な改行文字を消しています。

uniqは複数回同じヘッダーが出力されることがあるので、一つにまとめます。

cutはバージョンだけ取得するために使っています。

リダイレクト先が別サーバーになっている場合

curlでリダイレクト先まで追跡する場合、もし、リダイレクト先が別サーバーだと別サーバーの情報が得られてしまいます。

例えば、.htaccessに以下のような記述があり、すべて別サーバーのドメインにリダイレクトしている場合、リダイレクト先の情報になります。

最後に”/”が無いとリダイレクトに失敗して正しい結果が得られません。

Redirect permanent / https://www.seolabo-edf.jp/

参考:https://developers.google.com/search/docs/crawling-indexing/301-redirects

phpversion()を使用する

phpversion()関数を使うことで、PHPのバージョンだけ取得することができます。

このコードをcurlで実行するとPHPのバージョンだけ取得できます。

<?php
echo phpversion();

まとめ

Apachを使用しているサーバーで、X-Powerd Byを出力抑制していない場合のみ有効な方法です。

参考なったらシェアお願いします!

この記事を書いた人

サーバーソムリエのアバター サーバーソムリエ レンタルサーバー鑑定士

国内のあらゆるレンタルサーバーを使用、管理した経験があります。サーバー選びからWordpressを使ったサイト運営まで丸っとお任せください。あなた様のご希望にそった本当に使える最適なサーバーをご紹介します。

コメントを閉じる

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

この記事の内容