カテゴリー
Windows

本家のお世話-#48。(Apache 2.4.3,PHP5.4.6へアップデート)

投稿アップデート情報  追記(8/28)  追記2(8/28)  追記3(2013/2/14)

 Lounge版のApache 2.4.3とWin用のPHP5.4.6が出たので,アップデート。ついでに,MySQLも5.5.27にした。conf,iniの設定は,「本家のお世話-#28。」と同じ。MySQLの導入については,「本家のお世話-#16。」を参照。

 Lounge版のApache 2.4.3は,いつも通りVC9版を落とす。httpd-2.4.3-win32-VC9.zip(19 Aug),php handlerも5.4.6用が出ているので,新たにphp5apache2_4.dll-php-5.4-win32.zipを落として,中の5.4.6用をPHPのフォルダ内にコピーする。httpd.confについては,以下の2点が変わっていた。
————————————————————————————————————————————————
 ひとつは,
     #Scriptsock logs/cgisock  —>>  #Scriptsock cgisock
うちの場合は,もともとコメントアウトのままのところだから,関係なし。

 もうひとつは,最後尾に以下の8行が追加されたこと。
     # Deal with user agents that deliberately violate open standards
     #
     <IfModule setenvif_module>
     BrowserMatch “MSIE 10.0;” bad_DNT
     </IfModule>
     <IfModule headers_module>
     RequestHeader unset DNT env=bad_DNT
     </IfModule>
 これは,MSIE 10.0のようにDNT(Do Not Track)がデフォルトでセットされている場合,それをアンセットするということなのか?「オープンスタンダードに故意に違反するユーザエージェントに対処するため]と書いてあるんだが。うーん,よくわからん。よくわからんというのが,その「どっちがオープンスタンダードなのよ」という意味なんだが。その辺は,筆者の立場によって違うとかか?
 出たばかりのせいか,あまり情報もない。その辺に関して何か見たら,追記でも書くことにしよう。
————————————————————————————————————————————————

 PHPのおニューもいつも通り,VC9のTS版を落としてくる。PHP5.4.6(Aug-15 22:48:37UTC)

 php.ini-productionで変わっていたのは,
     ;mail.log =
のところに以下の2行が追加されたこと。うちの場合,これも使っていないところなので,無関係。
     ; Log mail to syslog (Event Log on NT, not valid in Windows 95).
     ;mail.log = syslog

追記(8/28):
 DNT(Do Not Track)がらみの追記。ということで,MSのIE10以外の立場が,オープンスタンダードという扱いらしいが,天下のMSでも束になった広告業界にはかなわなかったんダネと言っていいのかナ。
 ところで,ユーザが明示的にDNTをOnにしたIE10の扱いはどうなるのだろう。そのあたりがまだいまひとつつかめていない。

追記2(8/28):
 「Roy T. Fielding DNT:1」で検索してみると,「Re: action-231, issue-153 requirements on other software that sets DNT headers」がトップに出てきた。ということは,ユーザが明示的にDNTをOn(=DNT:1)の場合は別問題で対処されるということか。HTTPの含んでいる情報についてよく理解していないから,理解の外だな。orz

追記3(2013/2/14):
 php5apache2_4.dll でググって来られる方がおられるようなので,追記。 PHP5.4.10 から php5apache2_4.dll も PHP のオフィシャルバイナリに同梱されるようになりました。

カテゴリー
Windows

本家のお世話-#46。(PHP5.4.5へアップデート)

投稿アップデート情報  追記(8/10)  追記2(2013/2/14)

 PHPのおニューが出た。というわけで,4日遅れくらいで,PHP5.4.5(Jul-18 23:41:03UTC)にアップデートした。

 Apache Loungeのほうでも,下記のようになっていたので,php5apache2_4.dll-php-5.4-win32.zipをダウンロードし,中にあったPHP5.4.5用のphp5apache2_4.dllをPHPディレクトリにコピーした。
   20 July 2012
   php handler 5.3.15 and 5.4.5

 php.iniは前版と本質的な変更点がなかったので,そのまま利用した。もし,参考にされる方がいたら設定については,本家のお世話-#28。を参照してください。

 しっかし,前にも書いたが,相変わらず php handler が小枝番ごとに変わっている。やはりまだ,安定したとは言い難いんだろうな。

追記(8/10):
 今日は,8月10日。なっなんと,2週間以上,php5ts.dllのcrashが起こってないのだ。びっくり。PHP5.4.5へアップデートにしてからだ。Windows+Apache2.4.x+PHP5.4.xの件,ついに解決かな。開発者のみなさま,おめでとうございます&ありがとうございました。

追記2(2013/2/14):
 php5apache2_4.dll でググって来られる方がおられるようなので,追記。 PHP5.4.10 から php5apache2_4.dll も PHP のオフィシャルバイナリに同梱されるようになりました。

カテゴリー
WordPress

WordPress3.4.1へアップデート(xrea,atpages)

 xreaのs370と@pagesのwww39で表題のアップデートをやってみた。

 プラグインについては,どちらもtmpフォルダを作ってパーミッションを707にしておくとか,wp-config.phpにそのことを書き込んでおくとかの手当てで,うまくいくことは確認済みだったので,あっさり行くだろうと思ったら,@pagesのwww39の方でずっこけた。どうしてもうまくいかない。xreaのs370と@pagesのwww39のどっちにおいても,WP Multibyte Patchをアップデートしなければいけなかったので,こっちを先にやったのだが,それについてはうまくいった。

 本体のアップデート時の@pagesのエラーメッセージでは,.tmpのupgradeフォルダへの書き込みで失敗しているようだったので,これのパーミッションを変えてみたがダメ。

 やってるうちに,@pagesの方は,FTPでのファイルのやり取りもできない状態になってきた。考えるに,FTPでのこの一時に扱えるファイルの大きさ制限が足を引っ張っているのではないかいな。でないと,プラグインのアップデートとの違いが理解できないヨ。wordpress-3.4.1-ja.zipはそれだけで5MBを超えてるから,展開されるともっと大きいんだろう。仕方ないなということで,時間をおいてから手動でアップデートした。

 xreaの方は問題なく自動更新されたが,WordPressのトップディレクトリのwp-pass.phpとwp-register.phpについては自動では削除してくれなかったので,あとでFTPから手動で削除した。

 更新後の動作については,どちらの場合も問題なく動いているようだ。

カテゴリー
WordPress

本家のお世話-#45。(WordPress3.4.1へアップデート)

 WordPress 3.4.1の日本語版がリリースされた。メンテナンスとセキュリティの関係ということ早速アップデート。で,大きな変化はないのだが,改善の一つとして,
—————————————————————————————————————————————–
   警告を引き起こしたり、場合によってはメールの送信を妨げることのあった特定バージョンの
   PHP (5.2.4, 5.4) が動作しているサーバーや一般的ではない設定 (safe mode, open_basedir) が
   なされているサーバーでの互換性の改善
—————————————————————————————————————————————–
というのがあって,あるプラグインからの通知メールについて改善がみられるかもしれないという若干の期待がある。

カテゴリー
WordPress

本家のお世話-#44。(Illegal string offset ‘total_users’)

投稿アップデート情報  追記(6/22)  追記2(6/28)  追記3(6/28)  追記4(7/2)

 この間から,気になっていたPHP Warningがあった。
   PHP Warning: Illegal string offset ‘total_users’ in ~¥update.php on line 67
というやつで,一番初めは3月5日,2度目は4月11日で,あとはチョクチョク起こっている。日付から考えてPHPのバージョン関係だろうなあと思っていたが,前回ググったときは,何も探し出せなかった。今回,
Illegal string offset ‘total_users’というのを発見した。読んでみるとどうやらこれ関係のようである。

 で,これに余計なコメントを付け加えた後で,記事をじっくり読んだら,こんなのがあった。Inconsistent Variable Usage。おまけに,20966.diffがあって,workaroundが書いてある(汗)。余計なコメントは間違ったことを書いたわけではないが,書かなきゃよかった。時間も経過しているので,削除もできない。せめて,20966.diffを当てた結果チェックしてから書けばよかったなあ。この頃こんなんばっか。

 で,このPHP Warningだけど,上記の2つのスレッドを読んでみると次のようなことらしい。
 WordPressがユーザ数を調べるのに,マルチサイトとシングルサイトで違う関数を使っていることが混乱のもと。PHP5.4未満では問題が顕在化していなかったが,PHP5.4からemptyの仕様が変わったせいでWarningが出るようになった。empty関数の挙動変更の「5.4.0 文字列のオフセットに非数値を指定した場合は TRUE を返すようになりました。」というところに起因しているようだ。emptyの「例2 文字列のオフセットに対する empty()」を参照。

 放っておいても大した影響はなさそうだと安心したが,一応workaroundはやってみた。この次のUpdateのときにPHP Warningを確認してみよう。

追記(6/22):
 昨日,プラグインをひとつアップデートしたが,PHP Warning: Illegal string offset ‘total_users’ in ~¥update.php on line 67 は出なかった。workaroundは役に立っているようだ。

追記2(6/28):
 6月27日,Illegal string offset ‘total_users’Eric Mannさんから,次バージョンでこの件は修正されるという連絡があった。同日,WordPressについてver.3.4.1へのマイナーバージョンアップがあったが,これにおいては,update.phpは何も変更されていない。次バージョンというのは,ver.3.4.xであるとしてもメジャーアップデートの場合,あるいは,ver.3.5を指していると思われる。

追記3(6/28):
 Illegal string offset ‘total_users’でのcogmiosさんの報告によれば,Illegal string offsetは出なくなった模様。update.phpへの対症療法ではなく,coreでの解決のようだ。うちの場合,例の言語の関係でWordPress本体の自動アップデートが出来ないので,今のところ未確認。

追記4(7/2):
 今日,利用しているプラグインのうちの一つでアップデートがあったので,update.phpを使った。確かに,Illegal string offsetはでなくなった。Good Job!! — >> WordPress3.4.1。

カテゴリー
Windows

本家のお世話-#43。(PHP5.4.4へアップデート)

投稿アップデート情報  追記(2013/2/14)

 php5ts.dllのクラッシュによる再起動はずいぶん減ったが,Win版ApacheとPHPのおニューが出たときにはアップデートするように心がけている。しかし,PHPはあまりに早く対処すると怖いという経験がある。本日,4日遅れくらいで,PHP5.4.4(Jun-13 22:39:02UTC)にアップデートした。

 Apache Loungeを見たら,下記のようになっていたので,php5apache2_4.dll-php-5.4-win32.zipをダウンロードし,中にあったPHP5.4.4用のphp5apache2_4.dllをPHPディレクトリにコピーした。
   14 June 2012
   php handler 5.3.14 and 5.4.4

 php.iniは前版と変更点がなかったので,そのまま利用した。もし,参考にされる方がいたら設定については,本家のお世話-#28。を参照してください。

 しっかし,php handlerが,小枝番ごとに変わっているところを見ると,まだまだ安定とは言い難いんだろうな。

追記(2013/2/14):
 php5apache2_4.dll でググって来られる方がおられるようなので,追記。 PHP5.4.10 から php5apache2_4.dll も PHP のオフィシャルバイナリに同梱されるようになりました。

カテゴリー
WordPress

本家のお世話-#42。(WordPress3.4へアップデート)

 WordPress 3.4「Green」日本語版がリリースされたので,アップデートした。WordPressのスクリプトが,PHP5.4.xに完全対応してくれば,例のApacheのクラッシュにも好影響があるのではないかとの仄かな期待もある。ホンの仄かなものだけどネ(爆)。

 本家のお世話-#23。にも書いている通り,マルチサイトにしてから親サイトの言語設定のせいか,ダッシュボードの「WordPressの更新」のところに日本語版のアップデートが表示されなくなっているので,今回も手動。ファイルを全部FTPで差し換えてから,ダッシュボードにアクセスしたら,一番上部に
   Thank you for Updating! Please visit the Update Network page to update all your sites.
というのが,表示されていた。リンクをクリックして,「Update Network page」に行く。
————————————————————————————————————————-
   Update Network

   You can update all the sites on your network through this page. It works by calling
   the update script of each site automatically. Hit the link below to update.

   [Update Network]  <<— ボタン
————————————————————————————————————————-
ということなので,ボタンをクリックしたら,数秒で,
   All done!
になった。めでたし,めでたし。

 今のところ,使用プラグインも含め,動きに特に変わった点は見られない。

 チョコチョコとあちこち仕様が変わっているようだが,ルートディレクトリで以下の2ファイルがなくなっている。
   wp-pass.php
   wp-register.php

カテゴリー
Windows

本家のお世話-#38。(PHP5.4.3へアップデート)

投稿アップデート情報  追記(2013/2/14)

 php5ts.dllのクラッシュによる再起動は完全になくなったわけではないので,Win版ApacheとPHPのおニューが出たときにはアップデートするように心がけているのだが,PHPはあまりに早く対処すると怖いという経験がある。それに,ハードの不具合でバタバタしていたせいで後回しになっていたが,本日遅ればせながら,PHP5.4.3(May-08 18:26:37UTC)にアップデートしてみた。Apache Loungeを見たら,httpd-2.4.2-win32-VC9.zip(May-14)もタイムスタンプが変わっているようなので,これも一緒に入れ替えることにした。

 php5apache2_4.dll-php-5.4-win32.zipも実体は変わっているようなので落として展開してみたら,PHP5.4.3用のphp5apache2_4.dllが入っていた。危ない危ない。気づかなかったら,またハマるところだった。これを忘れずにPHPディレクトリに入れること。

 Apacheのhttpd.confとphp.iniは前版と変更点がなかったので,そのまま利用した。もし,参考にされる方がいたら両方の設定については,本家のお世話-#28。を参照してください。

 ついでに,MySQLもmysql-5.5.25-win32.msiにアップデートした。

追記(2013/2/14):
 php5apache2_4.dll でググって来られる方がおられるようなので,追記。 PHP5.4.10 から php5apache2_4.dll も PHP のオフィシャルバイナリに同梱されるようになりました。

カテゴリー
Windows

マイクロソフト セキュリティ アドバイザリ (2718704)

投稿アップデート情報  追記(6/9)

 まぁ,参っちゃいますねぇ。Microsoft 自身が発行した証明書が悪用されたらしく,その対応としてマイクロソフト セキュリティ アドバイザリ (2718704)が出ました。世も末じゃ。

 自動更新にしていればもうパッチが当たっているはずですが,更新プログラムとして,KB2718704があるかどうか,一応確認してみましょうね。あったら,O.K. ない場合は,Microsoft Updateを利用しましょう。それでもうまくいかない場合は,Unauthorized digital certificates could allow spoofingに行って,自分のOSに対応するものをダウンロードしてインストールしましょう。英語のページですが,ダウンロードファイルそのものは,言語別になっているので,落とす前に,日本語にしてから落としましょう。

 関係あるのは,
     Microsoft Enforced Licensing Intermediate PCA (証明書 2 つ)
     Microsoft Enforced Licensing Registration Authority CA (SHA1)
ということらしいので,結構あちこち影響あるのじゃないでしょうか。マイッタマイッタ(爆)。

追記(6/9):
 こういう悪夢の元だってことだよねえ。今回は,対象がちょっと別次元だったので,一般人はなんとか最悪のシナリオをまぬかれたってことらしい。

カテゴリー
WordPress

本家のカレンダー-#2。

 気づいたかたもおられると思うが,PHP 5.4.x 系にアップグレードしてから,ブログ(英語日本語)の1行カレンダーの投稿日が表示されなくなっていた。気にはなっていたが,例の crash + restart のほうが問題で,そのままにしていた。

 ブログのカレンダーについては,本家のカレンダー。にも書いたとおり,ずっと同じものを使ってきた。最初は,Movable Type,次は,WordPressで。今回の件に関して,プラグインの作者のページにお問い合わせも書いてみたが,長らくお返事がないので無理なのかもしれない。自分でスクリプトも見たが,お手上げ。

 crash + restart が落ち着いてきたので,何か他に使えるプラグインがないかと探してみた。1行表示のカレンダー(「さかなのぺんぎん的日記」というサイトだったが,どうやらなくなったようで,2012/7/26からリンク切れが出るようになった。)というのがあった。対応バージョンは古くバージョンアップもされていないようだが,作者の方が「標準でついてくる get_calendar() というカレンダーを表示する関数の、HTML を書き出す部分をごにょごにょしただけのものです」と書いておられるので,かえって大丈夫かなと入れてみたら,無事動いた。よかった。

 さかなさん,ありがとうございます。