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

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で非推奨になったため、このような記述とした。

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

お勧めコンテンツ

disabled(2010年6月24日 登録)

string disabled( mixed $disabled [ , mixed $current = true [ , bool $echo = true ] ] )
HTMLのdisabled属性を表示する。パラメータ$echoにfalseを指定した場合は表示しない。

esc_attr__(2016年1月14日 登録)

string esc_attr__( string $text [ , string $domain = 'default' ] )
エスケープ処理した翻訳テキストを取得する。

get_comment(2011年6月18日 登録)

mixed get_comment( mixed &$comment [ , string $output = OBJECT ] )
コメント情報を取得する。

get_previous_post(2010年5月24日 登録)

object get_previous_post( [ bool $in_same_cat$in_same_term = false [ , string $excluded_categoriesmixed $excluded_terms = '' [ , string $taxonomy = 'category' ] ] ] )
1つ前の投稿情報を取得する。

wp_get_users_with_no_role(2017年11月27日 登録)

array wp_get_users_with_no_role( [ int $site_id = null ] )
役割が設定されていないユーザIDを取得する。

最終更新日時 : 2013-09-11 12:12