本家のお世話-#109。(PHP 5.5.16 から PHP 5.6.0 への移行)

 予定通りというか, Aug-27 21:52:22 に Windows 版の PHP5.6.0 が出た。ここのところよくあるのだが, php.net より半日ばかり早かった。そんなわけで,今日の午後, PHP 5.5.16 から PHP 5.6.0 に移行した (Windows7 HP + SP1 (x86))。で, ChangeLog

 「PHP 5.6.x にしても,現在のコードはほぼそのままで動きます。ほんのわずか,考慮すべき few incompatibilitiesnew features がありますので,これについては,バージョン変更の前にテストしておいてください」ということらしいのだが,うちの環境でも,コードの書き換えは特に必要なかった。もっとも,我が家の場合は, PHP 5.5.16 から PHP 5.6.0 だから,すごく古いバージョンからとなれば,それなりに対処が必要になる。

 そうは言いつつ, php.ini はだいぶ変えた。というのが, PHP 5.6.0 ではデフォルトで UTF-8 になったので, mbstring についての細かいカスタマイズはいらないだろうと思ったからだ。

【注】 ところで,PHP スクリプトの開発環境を作るのでない限りは, php.ini の元ファイルには, php.ini-production INI file を使うべきである。これは,オフィシャルの INI 内にちゃんと書いてあるのだが,いまだに php.ini-development INI file の使用を勧めているサイトもあって,困ったもんだと思っていたので,この際明記しておく。

 以下に今回作った PHP 5.6.0 用の php.ini の変更点を示す。 Drive_SV はサーバソフト用のパーティションである。

  デフォルト カスタム
1 output_buffering = 4096 output_buffering = Off
2 disable_functions = disable_functions =”shell_exec, suexec, passthru, phpinfo”
3 expose_php = On expose_php = Off
4 ; extension_dir = "ext" extension_dir = "Drive_SV:\PHP\ext\"
5 allow_url_fopen = On allow_url_fopen = Off
6 ;extension=php_curl.dll extension=php_curl.dll
7 ;extension=php_gd2.dll extension=php_gd2.dll
8 ;extension=php_mbstring.dll extension=php_mbstring.dll
9 ;extension=php_mysqli.dll extension=php_mysqli.dll
10 ;extension=php_openssl.dll extension=php_openssl.dll
11   zend_extension= "Drive_SV:\PHP\ext\php_opcache.dll"
12 ;date.timezone = date.timezone ="Asia/Tokyo"
13 ;sendmail_from = me@example.com sendmail_from = My email address
14 mysql.allow_persistent = On mysql.allow_persistent = Off
15 ;opcache.enable=0 opcache.enable=1
16 ;opcache.memory_consumption=64 opcache.memory_consumption=128
17 ;opcache.interned_strings_buffer=4 opcache.interned_strings_buffer=8
18 ;opcache.max_accelerated_files=2000 opcache.max_accelerated_files=4000
19 ;opcache.revalidate_freq=2 opcache.revalidate_freq=60
20 ;opcache.fast_shutdown=0 opcache.fast_shutdown=1

 1 と 14 の設定はサーバの環境によっては,不具合が生じることがあるかもしれない。 11 および 15 – 20 は OPcache のためなので, OPcache を使わない場合は,デフォルトのままでよい。移行から1日。 php_opcache.dll でエラー頻発。解決策がわかるまで使用中止にした。 mbstring の細かい設定を変えたことで,何か影響が出るかなぁ。様子見の予定。

 MySQL Extension は使うのをやめた。うちの環境だと,もう MySQLi Extension だけでいいようだ。

 現時点の自鯖の環境。

 おっと,書き忘れるとこだったが,今回,実は,「Bad Host request」が出た。犯人は, BulletProof Security だった(爆笑)。そんなわけで,1回ヤツを停止後, PHP を移行し,改めて有効にした。これはぬれぎぬ。犯人は, php_opcache.dll だった。 BulletProof Security くん,ごめんなさい。

米倉斉加年が亡くなったって……。

 米倉斉加年さんが亡くなった。昨日のことらしい。元気だったのにと思っていたら,午後 9 時半すぎに腹部大動脈瘤破裂でと書いてあった。 1934 年 7 月生まれだから, 80 歳か。先日の林隆三さんよりはかなり上だけれども,何かなあ。林さん以上の急死だよ。若いころから好きな俳優さんだったが,年が行くほど,さらに気になるようになってきた。

 腹部大動脈瘤破裂だと,やはり,勝負早いんだね。破裂してしまったあとでは,今の時代でもなかなか難しいものなんだろうか。

 ご冥福をお祈りする。合掌。

覚え書-#19。

 なんでだかすごく疲れているので,やったことのメモだけ。

 うちのサーバ OS は Windows7 HP SP1 (x86)。

  1. PHP 5.5.15 (php-5.5.15-Win32-VC11-x86.zip)
    —> PHP 5.5.16 (php-5.5.16-Win32-VC11-x86.zip)
  2. MariaDB 10.0.12 (mariadb-10.0.12-win32.zip)
    —> MariaDB 10.0.13 (mariadb-10.0.13-win32.zip)
  3. phpMyAdmin 4.2.7 (phpMyAdmin-4.2.7-english.zip)
    —> phpMyAdmin 4.2.7.1 (phpMyAdmin-4.2.7.1-english.zip)

 全部,単なるセキュリティアップデート。なので,速やかに対処。

覚え書-#18。

投稿アップデート情報  追記(8/28)
  1. PHP 5.6.0 GA の正式リリースの時期が, RC4 の記事に書いてあった。とーっても楽しみ。 wow!
  2. Apache 2.4.10 (httpd-2.4.10-win32-VC11.zip) を openssl-1.0.1i のものに,アップデートした。 OpenSSL Security Advisory [6 Aug 2014] のせいなんだが, Steffen が Jan-E に “Coming days the builds here at Apache Lounge are going to be upgraded. It has not that priority and severity ~” と回答していたので,焦らずに待っていたのだ。
  3. Windows Update 2014 年 8 月はトラブル続出だったみたいだね。うちのパソコンは幸いにも1台も引っかからなかったんだが,現時点で特に問題がなくても KB2982791, KB2970228, KB2975719 and KB2975331 をアンインストールしたほうがいいということらしいので,探し出してアンインストールした。以下の通り。
    • NJ2100 上の Windows8.1(x86)
      KB2982791
      KB2975719
    • CF-J10 上の Windows7 SP1(x64)
      KB2982791
      KB2970228
    • xw4200 上の Windows7 SP1(x86)
      KB2982791
      KB2970228
    • KeyPaso 上の Windows Vista SP2(x86)
      KB2982791

    昔は, Windows update というとほぼ毎回不具合があって,少し落ち着くまで更新を控えたりしたものだが,今回のドタバタは久しぶりだった気がする。皆さんはどう思われますか? (^_~)

追記(8/28):
 MS14-045 関連の不具合更新プログラム, KB2993651 が出てますな。詳しくは,[MS14-045] 更新プログラム 2982791 の問題を解決する更新プログラム 2993651 を公開

WordPress のプラグイン bbPress で掲示板を作る。

投稿アップデート情報  追記(8/16) 追記2(11/4) 追記3(2016/2/27)

 サイトの CMS を WordPress にまとめて以来,掲示板をどうするかということについて悩んできた。
 掲示板に望む役割は,2つである。ひとつは,もちろん,一般的な掲示板の役目。もう一つは,本家の不具合―例えば, 403 forbidden, 503 Service Unavailable とかいう話―の連絡板としての役目である。したがって,設置場所は,自鯖以外でないと意味がない。

 英語サイトでは, WordPress のページのコメント機能を使ったものを作っていた。これは,上記の希望のどちらも満たしていない。しかし,たいして書き込みもない掲示板だったので,ほったらかしにしてあった(爆)。
 日本語のほうでは,流れで, Joyful Note を使ったものを Xrea 上に作っていた。こっちのほうは,2つとも望み通りになっていたのだが,2月にドメイン移管をしたら,移り先のサービスに Perl cgi がなくて使えなくなってしまった。仕方がないので, PukiWiki で作ってみたのだが, PukiWiki を使い慣れていないこともさることながら, PukiWiki のコンセプトそのものが掲示板になじまないようで,なんとも,情けない姿をさらしていた。

 10日くらい前に,突然ひらめいた。「簡単じゃん,WordPress.org のフォーラムみたいなもんを作ればいい」。早速,サイトのソースを眺めてみたら, bbPress というのが見つかった。そんなわけで, NetOwl 提供の WebCrow に, bbPress を使って掲示板を作ったよ。

 ところで, bbPress に関する情報というのは,ネット上にいやというくらい転がっているのだが,間違っても,古い情報を参考にしてはいけない。 bbPress はすごい勢いで変化してきてみたいで,古い情報は役に立たない。現在の bbPress は,完全に WordPress の一般的なプラグインである。したがって,そのインストールも ごく普通の plugin のインストールなので,他の情報に惑わされないこと。

 私が, bbPress についてカスタマイズしたのは,以下のところだけである。

  • 場合によって,とても読めないくらい字の色が薄いので, bbpress/templates/default/css/bbpress.css の中の3 か所で, #ccc & #bbb を # 333 に書き換えた。

         #bbpress-forums .status-closed,
         #bbpress-forums .status-closed a {
             color: #ccc;
     
         .bbp-forum-header a.bbp-forum-permalink,
         .bbp-topic-header a.bbp-topic-permalink,
         .bbp-reply-header a.bbp-reply-permalink {
             color: #ccc;
     
         span.bbp-admin-links a {
             color: #bbb;

 bbPress には画像添付の機能がないので, GD bbPress Attachments を使うことにした。ユーザ登録しなくても使えるように,以下の2つのフィルターをカスタマイズした。

  • gd-bbpress-attachments/code/attachments/class.php の中にある。
     return apply_filters('d4p_bbpressattchment_is_user_allowed', $allowed);
         ↓
     return apply_filters('d4p_bbpressattchment_is_user_allowed', true);
     
     return apply_filters('d4p_bbpressattchment_is_hidden_from_visitors', $value == 1);
         ↓
     return apply_filters('d4p_bbpressattchment_is_hidden_from_visitors', false);

 困っているのは,2プラグインとも完全な日本語化ファイルがどこにもなかったこと。一応,訪問者に見える部分だけは訳したのだが, bbPress なんて 1000 行以上もあるんだよ。完全訳は,掲示板のお披露目には,間に合わなかった。いつになるんかなぁ,我ながら自信がない (;´o`)。

 それと,「案内サピプッ」の6文字を Untitled1_sub.woff に追加した。 FontForge on Windows が安定して動くようになってて助かった,パチパチ。どういうわけか,今回は WOFFコンバータがちゃんと動かなかったので, Untitled1_sub.woff の更新には, ttf to woff converter を使った。

 古いコメントは,すべて新しい掲示板に移動した。

  • 注) bbPress はユーザーがコメントを弄ると,その時間をトピックごとに覚えていて (_bbp_last_active_time) ,経過時間として表示する。これは,移動した古いコメントには,そぐわない情報である。 WordPress の管理画面からは,この値を書き直せなかったので, SQL データを書き換えてやった。

 任務完了!! 掲示板はこちらです。お気軽にご利用ください m(_”_)m。

追記(8/16):
 こんなの見つけた。 https://translate.wordpress.org/projects/bbpress
 すごいなぁ。いろいろ時代に遅れてるなと感じてしまう。アクセスしてみよう!!

追記2(11/4):
 うちの掲示板はほとんどカスタマイズしていないが, bbPress では何種類かショートコードが使えるので,役に立つかもしれない。 bbPress のショートコード

追記3(2016/2/27):
 bbPress の日本語ファイルは, Translating WordPress から自動でダウンロードされる。従って,プラグインの language フォルダには, po も mo もいらない。いつからかははっきり記憶していないので,この機能が働く最低バージョンは書けないが,現時点ではうまく動いている。この追記を書いている時点での最新は WP4.4.2 と bb2.5.8 である。

不便なこと。

 ここんとこ,2つばかし,不便なことがあった。ひとつは, Windows7 上の IE11 関連,もうひとつは, WebCrow での phpMyAdmin のバージョン関連である。2つの不便のレベルはすごく違うので,同列には扱えないんだけどネ。

 Windows7 上の IE11 の件というのは,これ (Windows7 あるいは Windows Server 2008 R2 上で,基本認証のダイアログのパスワード入力欄に右クリックから貼り付けをすると,ちゃんと認証されない件)。これはよく知られた問題の一つらしい。 いや,別に KB2547752 の HotFix とかいらないし, CTRL+V しろっていうならするから,それは,いいんだけどさ。この件で,一番頭に来たのは,あたかもちゃんとできたように見えることなんだよね。右クリックから貼り付けると入力欄に ‘●●●●●●●●●●’ が見えるのよ。右クリック貼り付けはやらないでねっていうのは,割とよくある話なんで,それはさせないよというなら, ‘●●●●●●●●●●’ を表示しちゃいかんだろ。 Grrr。

 もう1個は, WebCrow の phpMyAdmin のバージョンが 2.11.x.x である件。このバージョンには,環境保管領域がない。当然, bookmarks 機能が使えない。とーっても,不便!日ごろ,どんだけ頼り切ってんだよ,ハハハ。

マイクロソフト セキュリティ アドバイザリ 2915720 の続き。

 台風(Halong)が来てますねぇ。でも,何となく大丈夫そうな我が家辺。しかし,「備えあれば患えなし」ですからネ。なめずにチャンとやっときまっしょい!!

 ところで,「マイクロソフト セキュリティ アドバイザリ 2915720 ???」 というのを前に書いたが,ご記憶だろうか。この記事は, 8/12 も近づいてるが,あれはどうなってるんだろうと思ったという話。

 ここのところ,翻訳ほうで頭がいっぱいで,マイクロソフト セキュリティ アドバイザリ 2915720 の更新記事を見逃していたのだが,昨日気づいた。

 結論から言うと,「マイクロソフトが、サポートされているリリースの Microsoft Windows で、より厳格な検証動作を既定の機能として適用する計画を中止したことをお知らせしました。」ということらしい。ただし,「この機能は引き続き、お客様が使用するかどうかを選択する機能として提供されます。」ということで,レジストリの中にひっそりと残るようだ。

 ネット上の話によると,思ったよりもずっと影響が大きなことを改めて認識して,今回は,撤回したということらしいんだけどネ。

墓掃除。

 今日は立秋ですね。というわけで,墓掃除に行ってきました。月遅れのお盆が間近ですし。

 本日はいい天気ですが,朝方はさすがに涼しいです。もっと早起きしていけば,もっと涼しかったと思うのですが,結局,6:30~8:00くらいまで,掃除してました。リタイア前は,もっと早起きして行ってましたが,今は,その分,気楽ですね。

 皆さんのところは,どんなふうになさってますか。

WordPress3.9.2 Background Updates.

 今回も,朝起きたら,WordPress 3.9.2 になっていた。

 セキュリティメンテナンスリリースということで, ‘a possible denial of service issue in PHP’s XML processing’ のパッチなんぞが含まれている。「迅速なアップデートを強く推奨します」とのことなので, automatic background updates に対応していないサイトを運営してる場合は,お言葉にしたがって手動でアップデートしたほうがいいみたいス。

訂正されたファイルは下記の通り。

readme.html
wp-admin/about.php
wp-includes/ID3/getid3.lib.php
wp-includes/class-IXR.php
wp-includes/class-wp-customize-widgets.php
wp-includes/compat.php
wp-includes/pluggable.php
wp-includes/version.php
wp-login.php