この記事は最後に更新してから1年以上経過しています。

PHPとMySQLのバージョンを確認

説明

先日、WordPressで構築されたサイトについて最新版へのバージョンアップを依頼される。使用されていたWordPressはバージョン2.xということで、最新版へバージョンアップできるのか、PHPとMySQLのバージョンを確認することになった。

WordPressで構築されたサイトへの不正アクセスのニュースは後を絶たず、原則的には最新版を維持することが望ましいと考えているが、さまざまな事情により開発時のままバージョンアップを行っていないサイトは少なからずある。今回はそんなクライアント様から一部サイトの機能追加にあわせて最新版へのバージョンアップを依頼を受けた。

依頼の前段階として、サイトを運用しているサーバー環境を確認。というのもWordPress 3.2以降と前とでは、動作環境としてPHPとMySQLのバージョンが異なっているからである。WordPress 3.2以降の動作環境は次の通り(最新版の動作環境確認はこちら)。

・PHPバージョン 5.2.4以上
・MySQLバージョン 5.0以上

このことをクライアント様に確認したところ「ちょっとわからない」という回答だったので、PHPとMySQLのバージョンを確認するプラグインを作ってみた。プラグインのコード部分は次の通りである。

$plugin_myver = new myver();
class myver {
	function __construct() {
		global $pagenow;
		register_activation_hook( __FILE__ , array( &$this , 'init' ) );
		add_action( 'admin_init', array( &$this, 'setup' ) );
	}
	function init() { }
	function setup() {
		add_meta_box( 'meta_box_myver', 'PHP and MySQL version', array( &$this, 'meta_box' ), 'dashboard', 'side', 'high' );
	}
	function meta_box() {
		global $wpdb;
		echo 'PHP: '.phpversion().'<br />MySQL: ';
		if ( method_exists( $wpdb, 'db_version' ) )
			echo $wpdb->db_version();
		else
			echo mysql_get_server_info( $wpdb->dbh );
	}
}

このプラグインを有効にすると、ダッシュボードの右上にウィジェットが表示され、PHPとMySQLのバージョンを確認することができる。PHPのバージョンはPHPの関数であるphpversion関数を、MySQLのバージョンはWordPressシステム内部でデータベースアクセスを集中管理する$wpdbオブジェクトのdb_versionメソッド(2.7.0で追加)またはPHPのmysql_get_server_info関数を使用している。MySQLのバージョンはPHPのmysql_get_server_info関数で取得できるが、この関数がPHP 5.5.0で非推奨になったため、このような記述とした。

このプラグインをクライアント様に送り、現在のサーバーの状況を調べていただく。しばらくして最新版へのアップデートは問題ないことが確認でき、本格的なアップデート準備に進むことができた。


最終更新 : 2013年09月11日 12:12

お勧め

_doing_it_wrong(2020年7月24日 更新)

void _doing_it_wrong( string $function, string $message, string $version )
不適切な関数などの呼び出しをマークする。

wp_unique_id(2019年1月15日 更新)

string wp_unique_id( [ string $prefix = '' ] )
ユニークIDを取得する。

wp_get_post_tags(2011年6月2日 更新)

mixed wp_get_post_tags( [ int $post_id = 0 [ , array $args = array() ] ] )
投稿記事の投稿タグ情報を取得する。

wp_dropdown_categories(2016年8月22日 更新)

string wp_dropdown_categories( [ mixed $args = '' ] )
ドロップダウン形式のカテゴリーリストを表示または取得する。

send_confirmation_on_profile_email(2018年5月27日 更新)

void send_confirmation_on_profile_email()
メールアドレス変更を確認するメールを送信する。