WordPress3.0をmysql4.0にインストールした。

WordPressはver2.8までしか、mysql4.0にインストールできません。

なのに、仕事でどうしてもWordPress3.0をmysql4.0にインストールせねばならなくなったので、そのときの備忘です。備忘といいつつも二度としたくないのですが…。

 

作業の際に↓の記事を参考にしました。今記事はこちらの補足です。
WordPress3.0をmysql4.0で使う « アルファブレンド プログラミングチップス

 

【1】wp-admin/install.php

$mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );

を↓に変更

$mysql_compat = true;

 

【2】wp-includes/wp-db.php

	function check_database_version() {
		global $wp_version, $required_mysql_version;
		// Make sure the server has the required MySQL version
		if ( version_compare($this->db_version(), $required_mysql_version, '<') )
			return new WP_Error('database_version', sprintf( __( '<strong>ERROR</strong>: WordPress %1$s requires MySQL %2$s or higher' ), $wp_version, $required_mysql_version ));
	}

を↓に変更

	function check_database_version() {
return;
	}

 

【3】wp-admin/includes/schema.php

if ( ! empty($wpdb->charset) )
	$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
if ( ! empty($wpdb->collate) )
	$charset_collate .= " COLLATE $wpdb->collate";

を↓に変更

if ( ! empty($wpdb->charset) )
	$charset_collate = '';
if ( ! empty($wpdb->collate) )
	$charset_collate = '';

 

【4】wp-includes/functions.php

$result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $value, $autoload ) );

を↓に変更

if ($wpdb->get_row($wpdb->prepare("SELECT * FROM `$wpdb->options` WHERE `option_name` = %s", $option))) {
	$result = $wpdb->query( $wpdb->prepare( "UPDATE `$wpdb->options` SET `option_value` = %s, `autoload` = %s WHERE `option_name` = %s", $value, $autoload, $option ) );
} else {
	$result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s)", $option, $value, $autoload ) );
}

 

以上で無事インストールできました。
Wordpress3.0以降の機能である、マルチサイトも動きました。
かなり無理くりやっているので自己責任でお願いします。

 

参考:
WordPress3.0をmysql4.0で使う « アルファブレンド プログラミングチップス

この記事を書いた人:

ナカシマ

北区赤羽在住のWEBデザイナー兼エンジニア。インターネット、WordPress、本・漫画、音楽が大好き。妻と猫と暮らすアップル信者。

BLOG: 着ぐるみ追い剥ぎペンギン