SQLite版 WordPressをバージョンアップ (2.7.1 ⇒ 2.9.2)

最近WordPressをいぢる機会が増えてきた。

そのせいかちょっとだけヤル気が出てきたので、以前失敗しているバージョンアップに再チャレンジ。

前回失敗した時は自前設置のPHPだったので、さくら標準PHPへ切り替えた今の状態でもう一回やってみる。

が、、、

自動・手動アップデート共にバージョンアップは成功するものの、やはりダッシュボードが激重で実用的ではない。

なので、アップデートじゃなく新規でブチこんでからデータを復元してみるコトに。

参考までに環境は

  • さくらのレンタルサーバー ライトプラン
  • PHP 5.2.17

以下、手順。
続きを読む


WordPress+SQLiteで危機一髪・・・

SQLiteのデータベースファイルである「MyBlog.sqlite」をうっかりアスキーモードで転送(ダウンロード)したのに気がつかないでまま、サーバー側のファイルを消してしまい焦りまくっておりました。。

ライトプランの標準PHPに切り替える際にとっておいたバックアップがあるのを思い出して事なきを得ましたが・・・

たまたま別件で強制アスキーモードにしていたのを忘れていたのですが、SQLiteの場合は危険でス。。
必死こいてバックアップ探しましたよ、もぉ。


さらば、自前のPHP。こんにちは、さくらのPHP。

遂に、さくらインターネットのライトプランがPHPに対応しました。
もっと早く対応してほしかった・・・w

というわけで、自前のPHPで動かしていたWordpressを、使用可能になったさくらインターネット標準のPHPに移行してみる。
とは言っても作業は非常に簡単。

(アカウント名)/www/ 以下にPHPをインストールしていた場合、

  • /www/cgi-bin/php5.cgi

を削除。

そして /www/.htaccess から

  • Action php5-script /cgi-bin/php5.cgi
  • AddHandler php5-script .php

の2行を削除すればOK。

だいぶ昔に設置したので.htaccessの件を忘れてて、ちょっぴりハマって焦ったのは内緒。。。

(2012.08.24 追記)

この作業が原因だったのかは不明だけど、直後にGoogle師匠から目をつけられた。

「このサイトはコンピュータに損害を与える可能性があります。」

だってさ・・・。

マルウェア感染のチェックをしても問題なしで、1週間程度で元に戻りました。

放置してても勝手に直ったのか、これが原因で直ったのかはこれまた不明だけど。。。


Lenovo IdeaPad Tablet A1 で android.process.acore 連発

昨年購入してからというもの、ネット閲覧やブックリーダーとして枕元やおトイレでその実力を発揮している我が家のLenovo IdeaPad Tablet A1

一時期は保証あり中華パットとして人気を博した(?)Androidタブレットなのですが、時折その中華クオリティーを遺憾なく発揮してくれるので嬉しいような悲しいような。

先日も購入後4・5回目となる以下のメッセージが連発。

android.process.acoreが予期せず停止しました。

ググっても結局初期化で直ったという報告がほとんど。
今までは小生も右にならっておりましたが、今回は少し粘ってみました。

まず、acore は色々なアプリやサービスで使われている模様。

  • ホームアプリ
  • 検索アプリプロバイダ
  • アドレス帳
  • User Directory
  • etc…

以前スマートフォンでバッテリーの異常消費の原因がacoreの暴走だった経験があり、ホームアプリはacoreを使用しないADW.Launcher EX を無理矢理ブチ込んでいるので1番目はクリア。

ググった結果に同期がどうこうという情報もあったので、試行錯誤しながら以下の操作をしてみたトコロ、
たまたま直っちゃいました(^ ^;

  1. 「設定」⇒「ワイヤレスとネットワークの設定」⇒「WiF-Fi」をOFF
  2. 「設定」⇒「アカウントと同期の設定」⇒バックグラウンドデータ」をOFF (この時点でエラーはでなくなった)
  3. 「設定」⇒「アプリケーション」⇒「アプリケーションの管理」⇒「すべて」で以下の「データを消去」をやってみる
    • User Directory
    • Google Backup Transport
    • Google Playストア
    • Google カレンダーの同期
    • Googleサービスフレームワーク
    • Googleの連絡先の同期
    • Googleパートナーのセットアップ
    • Google検索
    • Etc…

データ消去した項目はうろ覚えです。他にもありましたが上記のモノは確実にやりました。

そして何の根拠もなく「結果として直った」だけなので確証はありません。
何があっても責任は持てないのでヤルなら自己責任でヨロシク!

個人的には「Googleの連絡先の同期」がクサイと思っていますが。

まあ、Google先生の「Nexus 7」発表を受けて、今後A1の存在感は薄くなる一方でしょうが・・・・
(しかしながら今日現在日本では Nexus 7 は買えないようですw)

(2012.09.27 追記)

今は買えちゃいます。»Nexus 7


Chrome Extension で Gmail フィードをチェック

Chrome Extensions API で遊んでいるときに次の様な現象を確認した。

「ブラウザにてアカウントAでGmail にログインした状態のまま、アカウントBのGmailフィードをXMLHttpRequestで取得すると、アカウントAのエントリーが返ってくる。」

何故?セッションとかクッキーの問題??

とりあえずググるとフィードを取得するURLが2種類ある事に気が付く。

  • https://mail.google.com/mail/feed/atom
  • https://mail.google.com/gmail/feed/atom

更に、XMLHttpRequestでリスエストのメソッド(“GET” or “POST”)の違いでも挙動が変わる模様。

検証の結果

フィードのURL リスエストのメソッド 結果
https://mail.google.com/mail/feed/atom GET ×
https://mail.google.com/mail/feed/atom POST ×
https://mail.google.com/gmail/feed/atom GET ×
https://mail.google.com/gmail/feed/atom POST

ようするに、gが付いてる方のURLに、(sendが空でも)”POST”でリスエストすれば良いみたい。
仕様をきちんと理解していれば当然なのか、「穴」的な処理なのかはわかりませんが、急に仕様が変わるコトもありえるGoogleさんなので今現在は可能というコトで理解しておこう。

以下、ソース。

function getGmailFeed(mail, pass, callback) {
	var url = "https://mail.google.com/gmail/feed/atom";
	var xhr = new XMLHttpRequest();
	xhr.open("POST", url, true, mail, pass);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4) {
			if (xhr.status == 200) {
				if (callback) {
					callback(xhr.responseXML);
				}
			}
		}
	}
	xhr.send();
}

BASIC認証をHTTPヘッダで処理するもよし。

	xhr.open("POST", url, true);
	xhr.setRequestHeader("Authorization", "Basic " + window.btoa(mail + ":" + pass));

Content-Typeを指定するもよし。

	xhr.setRequestHeader("Content-type", "application/atom+xml");

以上、備忘録でした。


スポンサーリンク