blogへの道 – WordPress + Sqlite 其の二

ちなみに、実際にサイトへ設置する前にローカルでテストしたきにエラーがでました。
(WindowsXP SP3 + XAMPP 1.7.1)

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\wp-content\pdo\PDOEngine.php on line 448

実行時間のタイムアウトに引っかかった模様。(デフォルトで30秒)
最終的には、エラーがでた行の前に set_time_limit 関数を追加して5分くらい待機させることで問題を回避しました。

$this->queries[] = "Executing: (no parameters)\t ";
do{
	set_time_limit(300);
	$result = $statement->execute();
	if (!$result){

セーフモードで動かしている場合は php.ini の max_execution_time を変更しないとダメらしい。
(ウチの php.ini 見たら max_execution_time = 60 なんだけど、何故30秒でタイムアウトに?w)

— 訂正 ———————————————————————————————————————–

後日確認してみると、PDOEngine.php の最初のほうに、set_time_limit が既に設定してありました(^ ^;

private function connect($connectionParams){
	set_time_limit(30);
	global $wpdb;
	list ($this->dbType, $dbUser, $dbPassword, $dbName, $dbHost) = $connectionParams;

set_time_limit をコメントアウトすれば、php.ini の max_execution_time 設定で動くはず。
場合によっては set_time_limit(300); とかにしてあげれば良いと思います。

セーフモードの場合は結局無視されるので php.ini の max_execution_time を変更しないといけませんが。

———————————————————————————————————————————

再度 「/wp-admin/install.php」 へアクセスすると 「インストール済み」 だと怒られた。

すでに WordPress をインストール済みのようです。再インストールするにはまず最初に古いデータベーステーブルを削除してください。

とのメッセージなので仰せのままに。 ( トップページを見ると、それっぽい画面がでたものの残念ながらログインパスワードが不明なので使えない。 ダミーのエントリーとコメントもなかった。)

Sqlite版の場合、「\wp-content\database\MyBlog.sqlite」 がデータベースファイルになるので、 こいつを丸ごと削除後にやり直すことで無事完了しました。

まあ、XAMPPでやるなら普通にMySQLが使えるので、わざわざSqliteでやる必要ないんですけど・・・
サイトに設置の際も同様に、インストール中にエラーがでてやり直す場合は 「MyBlog.sqlite」を削除しましょう。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク