2013年5月18日 WordBench Osaka
木谷公哉(KITANI Kimiya) @kimipooh
Twitter
Facebook
Google+
情報発信
コミュニティ
つぶやき
活動記録とか技術的なお話とか
http://kimiyakitani.wordpress.com
プラグインと本体のアップデート
が管理パネルから簡単にできる
 オープンソースカンファレンス2010
Kansai@Kyoto
 「世界標準ブログWordPressとそのコミュニティの
魅力」
 日時: 2010/7/9 (金)
 担当:WordBench京都・滋賀
 場所:京都コンピュータ学院
 http://kyoto.wordbench.org/2010/06/30/osc2010-kyoto/ふらっと寄ってみたら WordPress の機能に魅
せられ
11月より5サイト同時に
立ちあげ!?
3月納品直前に
WordPress 3.1がアップ
グレード!
いろいろ問題勃発&多
言語プラグイン
「WPML」が有料に!
7/20に実験サイト立ち
あげ
10月に多言語化を中心
に実験し、11月に
PHP5.3問題に苦慮して
いたら
http://kitaney.jp/~kitani/manual/php/php53.html#2
3
4
5
6
 MAMP 1.8.4
 1.0-platinumまで
(PHP4)
 MAMP 2.1.2
 1.2-delta以降
7
PHP5.2モードだとMAMP 2.1.2
でも1.0-platinum以下動作する
項目「ノート」を見ながら、どこがどう変わったのか、気付いた点
をチェック
WikipediaのWordPress リリース情報をベース
に
日本語 :http://ja.wikipedia.org/wiki/WordPress
英語 :http://en.wikipedia.org/wiki/Wordpress
数日でやるにはとっても大変 (>_<)
昔のWordPressをインストールするって、沢山あるけど!
WordPressのダウンロードは本家の「Release Archive」を利用
http://wordpress.org/download/release-archive/
8
9
 2003年5月27日 0.70リリース
10
11
 導入されたreadme.htmlを読む
 b2config.phpをエディタで開いて修正
 $siteurl, DB_****, $fileupload_realpathを変更
 wp-admin/wp-install.php に直接アクセス
 PHP5(5.3.0以降)で動作しないわけ
 $HTTP_GET_VARSが使われている
(PHP5.4から $_GETに変更)
 注意点
 DB作成時の照合順序を「utf8_unicode_ci」にす
る
(デフォルト:latin1_swedish_ci)
1.0-platinum まで
1.2-deltaより変更
動作検証
PHP4.4.9 (4.0.6以上)
MySQL 5.1.37 (3.23.23以上) b2/cafelog
12
見た目が変わった!
ログイン
画面は変
化なし 13
14
 wp-config-sample.phpを
wp-config.phpにリネームして、エディタで開
いて修正
 サイトにアクセス
 Step 1, 2, 3でインストールしてログイン
15
おおっ非暗号♪
16
1.0から画面変わってないですね〜
17
18
 プラグインがサポートされた
 PHP5対応
 $HTTP_GET_VARSではなく、$_GETに変更
HTTP_GET_VARS等の状況
【PHP4.1.0以降】:$_GET, $_POST,
$_REQUEST, $_SERVER等のウェブデータ引渡し
のためのグローバル変数は、PHP4.1.0から導入さ
れた
【PHP5.3.0(非推奨)】:
php.iniに「register_long_arrays = On」を入れ
れば使える 19
http://php.net/manual/ja/reserved.variables.get.php
http://www.kantenna.com/pg/2007/02/php410.php
20
おおっ暗号♪
21
ん?どうやってパスワード変更するかって
ターミナルで呪文を唱えるので
す
置き換え〜
22
おおー結構変わった!
23
24
テンプレート/テーマ機能静的ページ
25
見た目は変わらないように見えますが、
ログインすると!!
26
テーマ管理が今風に
ファイル添付
属性設定
インポート機能
が追加
27
ログイン画面に色ついた!
28
インポート&エクスポート
が管理項目へ
SEO対策
29
2.1と変わらない
30
31
完全なATOMフィードの追加・・・
wp-config.phpに
DB_CHARSET, DB_COLLATE(照合順序)
が追加
32
2.1と変わらない
33
wp-admin/admin-footer.php
34
①1.5-strayhorn以前
②1.5-strayhorn以降
インストールの1Step目が
スキップされ、2Stepに変更
③2.3以降
35
ログイン画面およびログイン後の管理画面が
大幅刷新!
36
パスワードが強固に
大文字が加わった!?
37
38
2.1から変わらず
39
初期パスワードが強固になった
記号が入った!?
2.5 2.6
40
7文字、英数字(大文字小文字)
12文字、英数字(大文字小文字)
+記号
Revision
41
ログイン画面が立体的に
ログイン後の画面も含めて、現代風に
42
wp-config.php
ソースが整形 secret-keyが導入
(影響:cookie)
43
ToolsUpgradeよりWordPress
本体&プラグインの
アップグレードが可能に!
44
2.7からの変更なし
45
テーマのインストール
が可能に
46
ウィジェット管理のデザイン変更
CodePress Editor
ソース入力するとハイライトする(動作せ47
2.7から変更なし
48
49
テーマ「Twenty Ten」が導入
50
インストール時に
管理者ユーザとパ
スワード変更可能
に!
secret_key
(wp-config.php)
にSALT項目が追加
51
Multi-User
52
wp-config.php
53
 管理画面の「設定」を押すと真っ白
に!?PHP5.3.2環境で管理者画面の一部(options-general.php)が処理でコケる
フォーラムデビュー
http://ja.forums.wordpress.org/topic/4361?replies=11
PHP5.3より加わった関数「timezone_identifiers_list」が呼び出されるとコ
ケる
PHPのバグ!?
ソースからコンパイルならOK、いろいろ試す・・・・
PHP bugsでの結論は、RedHat Linux OSが悪い
PHP bugsデビュー
https://bugs.php.net/bug.php?id=53320
結論:timezonedbを手動更新(pecl upgrade timezonedb)
(対応ログ:http://kitaney.jp/~kitani/manual/wordpress/index.html#5)
54
 Contact Form 7でフォームが表示されな
い!?
これだ・・・
http://wordpress.org/support/topic/warning-preg_match-functionpreg-match-errors
ただここでは解決してなかったが・・・
PCREが使われているが、PHP5.3.4
をyum経由で更新しても、PCREは
更新されない
PHP5.3.3以前なら動作する、PHP5.3.4にすると動作せ
ず・・・
yum update pcre で8.10以降にアッ
プデートが必要だった
55
 納品直前(3月7日)にアップデート・・・・
あれ動かなくなった(ヤバイ!)
WP3.1から導入された「タクソノミー」機能によって、カテゴリーリンクが
「?cat=ID」→「?category_name=slug」に仕様変更され、
「cat=ID」の情報を見越して処理する機能が動作しなくってしまった!(プラグインに影
響大!)
これだ!
http://wordpress.org/support/topic/wpml-causes-error-queryphp-on-line-2890?replies=6#post-2020085
しかし、解決情報なし T_T;
(多くのサイトでエラーが出ていることを発見)
wp-includes/query.php
56
 納品直前(3月7日)にアップデート・・・・
あれ動かなくなった(ヤバイ!)
WP 3.1.1で修正された
つまり?cat=IDに差し戻された
あまりやりたくなかったが、時間がないので強引にWP本体をいじった
カテゴリーリンク処理関数
「wp-admin/taxonomy.php」
において
?category_name=slug表示の時に、
?category_name=slug&cat=ID と
出るように強制書き換え
http://core.trac.wordpress.org/ticket/16644
57
 あれサイトが動かなくなったよ〜
システムエラーログには「exit signal Segmentation fault」しかない、何が原因だ!?
「Secure WordPress 2.0.2」 プラグインを停止したらエラーがなくなった!
PHP5.3.6のJSON拡張モジュールを利用するプラグインでエラーが出ていたことを突き止
PHP のjson拡張をOFFにすると動作する・・・
WP3.2.1から、wp-includes/compat.phpが削除されていて、これを呼び出すときに
存在しないため、エラーが出ていることを発見。
58
昔は意外とテーマはあまり変わってなかっ
た
今はメジャーバージョンアップの度に変
わる
納品前のプラグイン更新やWP更新は鬼
門!?
59
バックアップと復元がセットで大事だ
なぁ
60
61
 2006年10月23日? Multi-user 1.0 + bbPress 0.72
 http://wordpress.org/news/2006/10/mu-and-bbpress/
詰んだ・・・・・ (>_<)
62
 入れてみる
 「No WOMU site defined on this host」!?
 wp-config.phpの作成は、WordPressに任せること
 リダイレクトループ!?
 define( "WP_USE_MULTIPLE_DB", true );
 メールアドレスに認証用コードが送られる
 sudo postfix start を叩く
 kitani@kitani-air11n.local
(kitani-air11nはMacのコンピュータ名)へ送る
 Sudo postfix stop を叩く
63
mailxコマンド
wp-activate.php?key=……
sudo postfix start(ローカルメールサーバの立ち上げ)
sudo postfix stop 64

昔のWord pressをインストールしてみたよ!