Home > wordpress | sqlite > wordpress2.8をpdo_sqlite3で使いたい

wordpress2.8をpdo_sqlite3で使いたい

  • 2009-09-26 (土)

手順

wordpress はお好きに2.3以上を用意します。

下記プラグインを組み込みます
http://wordpress.org/extend/plugins/pdo-for-wordpress/

アップしてアクセスしてインストールしてログインします。

問題点

環境によりインストールできなかったり不具合があったりするので下記に手がかりを残します。

$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword, true);

wp-includes/wp-db.php on line 318 から上部分をコメントアウト
Craftworks Tech Blog ? WordPress の SQLite 対応

php5.2未満なら・・・

インストール挑戦時に

Fatal error: Call to undefined function preg_last_error() in /WordPress/wp-content/pdo/driver_sqlite/pdo_sqlite_driver_create.php on line 207

こんなエラーが出るかもしれません。
当該のpreg_last_error()の含まれる行をコメントアウトしてください
WordPressをSQliteで動作させる ? 整頓中(仮)

インストール時のパーミッション

上と同じエントリーですが
インストール前にdatabase というフォルダをを自分でwp-contentに作ってしまう。
パーミッションも777にあらかじめしておく
という対応は吉だと思います。
環境によってはインストール時のファイル生成や書き込みがエラーの元凶ってパターンもありますので
そんな場合はこれだけで万事解決ってこともあると思います。
WordPressをSQliteで動作させる ? 整頓中(仮)

投稿時のwp-content/post.php 1767か1769行目のimplode()でbad argumentエラー

$wpdb->escape($hierarchical_post_types)の戻り値がおかしい(string(5)array を返していた)ので
wp-content/post.php の1767行目のimplode内の$wpdb->escape($hierarchical_post_types)を$hierarchical_post_typesにしちゃう。

ところで$wpdb->escapeの処理は確認していませんがDBクエリを吐き出す際のエスケープ処理だと思いますので,必要に応じて関数を修正するか自前で適切にエスケープしてください。
セキュリティホールになってしまいます。

これで同行のimplode()のbad argumetntはなくなるので正常に投稿できるようになります。

どうしてもインストールできないときは

お使いのサーバーによってはDBがうまく生成されずにインストールできない場合があります。
ファイルをアップして,アクセスするとpdoのエラーが画面いっぱいで最終行にplugabble.php の header already sent のエラーが出るパターンです。
これは,wp-content/database/MyBlog.sqlite は生成されてるけどサイズ確認すると0なのでインストール時のデータを書き込むテーブルが何から何までありませーんってエラーです。

私が解決した方法はローカルにPHP環境を作ってそこにインストールし,生成されたdatabaseディレクトリ内のDBファイルごとアップしてしまうというものです。
wordpressを用意して初回アクセスでDBのテーブルだけ作成されたタイミングのdbファイル(400byteくらいの状態)を本番サーバにアップロードしてからアクセスすれば続きのインストール処理が正常に行われますので
そこからはいつも通りインストール作業を進められました。

その他参考サイト様

分かりやすい開設でした このプラグインを知ったのもこの記事でした
Craftworks Tech Blog ? WordPress の SQLite 対応

sqlite関係ないけどCSSの読み込み不具合を.htaccessで解決する旨はこちらで知りました
インディゴWeb研究室 - ブログ引っ越し記:WordPress 2.8 + PDO (SQlite) For WordPress 導入

私も$this->dbh=@mysql_connect($dbhost, $dbuser, $dbpassword, true );のコメントアウトはしなくても動きました
小山太郎.com ? Blog Archive ? WordPressでSQLite使用。Google SitemapGeneratorは編集必要です

  • No Tags

Comments:0

Comment Form
Remember personal info

Trackback+Pingback:0

TrackBack URL for this entry
http://reoto.com/archives/265/trackback/
Listed below are links to weblogs that reference
wordpress2.8をpdo_sqlite3で使いたい from ぼんずーず

Home > wordpress | sqlite > wordpress2.8をpdo_sqlite3で使いたい

タグクラウド
911 98 Acl ADSL ajax apache api bake BSE cakephp centOS css C言語 database db dom ECCUBE eclipse EM exec php google html javascript json lan linux mbr model mysql nec nic oscommerce password pbr pbs pci PDF pear php php4.3.9 phpexec phpのエラーコード pppoe SMAP Smarty SPAM sql sqlite svn Synergy TCP/IP ubuntu validation VMwarePlayer windows windowsXP wordpress xampp xml えひめAI くしゃみ ひかり ひかり接続 アキヒト イカ インデックス エコ エラー オリンピック カスタマイズ カスタムフィールド カタカナ キーワードEYE シュレッダー ジーオーグループ スクリプト セキュリティ センター直前 ソルトレイク タコ ダイアルアップ ダウンタウン テレビ テレホーダイ テロ デバッグ デュアルブート データサルベージ ネットショップ ネットワーク ハイライト バイク バックアップ バージョン切り替え フリーズ ブックオフ プラグイン プリンタ プログラミング プーチン マイケルジャクソン マコーレ・カルキン メモ メール リキッドレイアウト リサイクル レイアウト レンタルサーバー 不満 事故 人生 仮想化 再生紙 別れ 加圧式ボールペン 受験 哲学 夏目漱石 夢十夜 家族 島谷ひとみ 怠惰 怪奇 感謝 技術メモ 文字 文字コード 料理 正月 歯痛 焼き豚 牛肉 理科年表 環境問題 生きる 画像 示談金 視覚 言葉 降水量 青画面 風邪 飲みすぎ google
検索
Feeds
Ads

Return to page top