カテゴリー
Windows

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

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

 Win用のPHP5.4.7が出たので,アップデート。iniの設定は,「本家のお世話-#28。」と同じ。

 PHPのおニューはいつも通り,VC9のTS版を落としてくる。PHP5.4.7(Sep-13 01:18:16UTC),Apache Loungeから5.4.7用のphp handler(php5apache2_4.dll-php-5.4-win32.zipに入っている。)を落として,PHPのフォルダ内にコピーして使う。今回,php.ini-productionは5.4.6からの変更点なし。

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

カテゴリー
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 のオフィシャルバイナリに同梱されるようになりました。

カテゴリー
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 のオフィシャルバイナリに同梱されるようになりました。

カテゴリー
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):
 こういう悪夢の元だってことだよねえ。今回は,対象がちょっと別次元だったので,一般人はなんとか最悪のシナリオをまぬかれたってことらしい。

カテゴリー
Windows

本家のお世話-#37。(Operating System Not Found)

 朝起きて(臨時)サーバを見たら,ブラックアウトしているはずのモニタ画面に,何やら白い字が浮かんでいる。「Operating System Not Found」。えーーーーーーっ。ということで,本日,さっきまで自鯖が落ちていました。朝の5時ごろ(多分)から,夕方の6時半くらいまで。m(_”_)m。
 なんかこの頃こんなんばっか。要するに,こないだのことが根本的に解決していないということなんだろう。しかし,なんかで異常が起きて,その後,再起動し,この事態ということだよね。

 しかし,すぐに電源を落として,手動で再起動したら,普通に起きるんだよ。どうしてっ。起動後に「システムは深刻なエラーから回復しました。」の窓が出現し,それのおっしゃることには,C:\DOCUME~1\lc550\LOCALS~1\Temp\WER031f.dir00\Mini060312-01.dmp を作ったよということなので,イベントビューアからシステムのイベントを見に行ったら,なるほど,Save Dumpという項目があった。Tempのファイルは,エラーメッセージを閉じてしまうと削除されるが,ダンプファイルは C:\WINDOWS\Minidump\Mini060312-01.dmp という形で保存されていた。しかし,こっから長い1日だったねー。
 今日は珍しくなにも予定のない日で,FHさんところでお世話になった件の続きを書こうと思っていたのに。(もともとの)「サーバ機テンヤワンヤ」の記事がちっとも捗らない。

 「まぁ,これも勉強だから」ということで,ダンプファイルの解析をしてみることにした。以下の4ファイルをダウンロードした。しかし,このダウンロード,かなりブロークンリンクが多くて,正しいところに行きつくまで手間取った。「MS,ヘルプページの保守が悪いんじゃないの!?」他のメーカとは比べ物にならないくらい巨大なアーカイブだということはわかるけど,もうちょっとどうにかしてほしいヨ。

  1. Windows XP Service Pack 3 x86 製品版シンボル、全言語
    WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe のこと
  2. .NET Framework 4
  3. .NET Framework 4 Full 日本語 Language Pack(x86)
  4. Microsoft Windows SDK for Windows 7 and .NET Framework 4(winsdk_web.exe)

 この順でインストール。2.と3.はクライアント用ではなくフルバージョンということになる。当然ながら,このインストールはサーバ機ではなく,別PCに行った。

 本当は,WinDbgをスタンドアローンで使いたかったのだが,Debugging Tools for Windows をスタンドアロン コンポーネントとしてインストールするを見ると,インストール要件を満たしていないようで,よくわからないので,もういいやということでwinsdk_web.exe をインスールした(投げやりー)。
 winsdk_web.exeでは,ツールと一緒にVC10をインストールするようになっているが,同梱のVC10より新しいものがすでにインストールされていると,ライブラリの関係でインストールが失敗するので,前もって既インストールのVC10をアンインストールしておいた方が無難。
 同梱のVC10をインストールしないで,既インストール版をそのまま使うということも考えたが,既に入っているものすらしっかり認識されずにバージョンでエラーが出るくらいだから,WinDbgとVC10の連携がうまくいかないと困ると思ったので,既インストール版VC10をアンインストールして,winsdk_web.exeをインストールし,その後,MicroSoft Updateを行うという手間をかけた。

 WinDbgを起動し,メニューの「File」>>「Symbol File Path」に1.でインストールした,C:\WINDOWS\Symbols を設定する。シンボルパッケージは,ローカルにインストールしなくても,常時インターネット接続なら,ここに,SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols とやってもおくと,いつも最新のシンボルが参照できるらしい。

 起動したWinDbgに,サーバからコピーしてきたMini060312-01.dmpをD&Dすると,


Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [A:\Mini060312-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available

Symbol search path is: C:\WINDOWS\Symbols
Executable search path is: 
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS Personal
Machine Name:
Kernel base = 0x804d9000 PsLoadedModuleList = 0x8055d2c0
Debug session time: Sun Jun  3 05:18:17.788 2012 (UTC + 9:00)
System Uptime: 2 days 7:02:04.384
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
Loading Kernel Symbols
...............................................................
..............................................................
Loading User Symbols
Loading unloaded module list
.............................
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 7A, {c03ddee4, c000000e, f77b950c, 22013860}

Unable to load image atapi.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for atapi.sys
Probably caused by : atapi.sys ( atapi!ChannelQueryBusRelation+2f )

Followup: MachineOwner
---------

 下線のついた!analyze -vというのをクリックすると,さらに,

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

KERNEL_DATA_INPAGE_ERROR (7a)
The requested page of kernel data could not be read in.  Typically caused by
a bad block in the paging file or disk controller error. Also see
KERNEL_STACK_INPAGE_ERROR.
If the error status is 0xC000000E, 0xC000009C, 0xC000009D or 0xC0000185,
it means the disk subsystem has experienced a failure.
If the error status is 0xC000009A, then it means the request failed because
a filesystem failed to make forward progress.
Arguments:
Arg1: c03ddee4, lock type that was held (value 1,2,3, or PTE address)
Arg2: c000000e, error status (normally i/o status code)
Arg3: f77b950c, current process (virtual address for lock type 3, or PTE)
Arg4: 22013860, virtual address that could not be in-paged (or PTE contents if arg1 is a PTE address)

Debugging Details:
------------------


ERROR_CODE: (NTSTATUS) 0xc000000e - <Unable to get error code text>

DISK_HARDWARE_ERROR: There was error with disk hardware

BUGCHECK_STR:  0x7a_c000000e

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  DRIVER_FAULT

PROCESS_NAME:  System

TRAP_FRAME:  f7cbccdc -- (.trap 0xfffffffff7cbccdc)
ErrCode = 00000000
eax=8678e068 ebx=867bb020 ecx=00007b2a edx=867c62d4 esi=86150bc8 edi=867c60e8
eip=f77b950c esp=f7cbcd50 ebp=f7cbcd60 iopl=0         nv up ei pl zr na pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00210246
atapi!IdePortScanBus:
f77b950c ??              ???
Resetting default scope

LAST_CONTROL_TRANSFER:  from 80523e01 to 80535876

STACK_TEXT:  
f7cbcbd4 80523e01 0000007a c03ddee4 c000000e nt!KeCheckForTimer+0x5a
f7cbcbfc 804fb2c8 813831c8 c03ddee4 f77b950c nt!MiWaitForInPageComplete+0x215
f7cbcc74 804eda7a 22013860 f77b950c c03ddee4 nt!MiDispatchFault+0x2fb
f7cbccc4 804e372b 00000000 f77b950c 00000000 nt!MmAccessFault+0x609
f7cbccc4 f77b950c 00000000 f77b950c 00000000 nt!KiTrap0E+0xdf
f7cbcd4c f77bbe29 867c60e8 867c2098 867c6030 atapi!IdePortScanBus
f7cbcd60 80566710 867c6030 867e7130 805643fc atapi!ChannelQueryBusRelation+0x2f
f7cbcd74 804e627b 867c2098 00000000 867bb020 nt!ObpRemoveObjectRoutine+0x4
f7cbcdac 8057b4dd 867c2098 00000000 00000000 nt!ExpWorkerThread+0x123
f7cbcddc 804fa90f 804e61a6 00000001 00000000 nt!HvMarkDirty+0x174
f7cbce04 00000000 0000ffff fffcfffc fffcfffc nt!KeStartThread+0xd


STACK_COMMAND:  kb

FOLLOWUP_IP: 
atapi!ChannelQueryBusRelation+2f
f77bbe29 ??              ???

SYMBOL_STACK_INDEX:  6

SYMBOL_NAME:  atapi!ChannelQueryBusRelation+2f

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: atapi

IMAGE_NAME:  atapi.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  4802539d

FAILURE_BUCKET_ID:  0x7a_c000000e_atapi!ChannelQueryBusRelation+2f

BUCKET_ID:  0x7a_c000000e_atapi!ChannelQueryBusRelation+2f

Followup: MachineOwner
---------

が追加表示された。読んでみると,ntoskrnl.exeがロードできないと言ってるのは当たり前だろうが,
   Arg2: c000000e, error status (normally i/o status code)
なんていうところがあって,atapi関係がうまくいっていないことが書いてある。そうすると,やっぱり,HDDかなと思って調べたんだけど,この間と同じような状態で,bad sectorsは0なんだよね。

 臨時サーバは,NECのノートだから剥ぐってHDDを調べるのも面倒くさくて,この間やらなかったメモリーテストをMemTest86+でやってみた。そしたら,2枚のモジュールのうち1枚で,何度やっても1カ所だけだけどエラーが出る。しかし,このHDDとmemoryの健康診断に,時間のかかることかかること。終わったころには,疲れ果てて,もう逆さに振ってもやる気が出ない。

 結局この1枚を外して,サーバを再起動したのがさっきなんだけど,これで様子見ということにしよう。もし,今度同じようなことが起きたら,LC550をちょっと脱がしてHDD調べてみないといけないかなぁ。NECのノートって,HDDがホント見にくいよね。そう思いません?

追記:
 でも,結局なんで再起動が発生したのかはつかめなかった。上のでわかったのはあくまでも,再起動後,ntoskrnl.exeがロードできなかった件だけなのだ。

カテゴリー
Windows

本家のお世話-#36。(KERNEL_STACK_INPAGE_ERROR)

 あー,参った。

 青画面が出まして(臨時サーバのほうです),その手当てのために,昨日(5/31)の17:00くらいから22:30頃まで,自鯖を落としていました。なんかこのところ,エラーづいてるなぁ(泣)。

 出たエラーメッセージは,以下のもの。29日に続き2度目だったので,少し地道にお手当てを。

A problem has been detected and Windows has been shut down to prevent damage
to your computer.

KERNEL_STACK_INPAGE_ERROR

If this is the first time you’ve seen this stop error screen,
restart your computer. If this screen appears again, follow
these steps:

Check to make sure any new hardware or software is properly installed.
If this is a new installation, ask your hardware or software manufacturer
for any Windows updates you might need.

If problems continue, disable or remove any newly installed hardware
or software. Disable BIOS memory options such as caching or shadowing.
If you need to use Safe Mode to remove or disable components, restart
your computer, press F8 to select Advanced Startup Options, and then
select Safe Mode.

Technical information:

*** STOP: 0x00000077 (0xC000000E, 0xC000000E, 0x00000000, 0x********)

Beginning dump of physical memory

 KERNEL_STACK_INPAGE_ERRORでググってみると,「Windows XP ベースのコンピューターでエラー メッセージ “Stop 0x00000077” または “KERNEL_STACK_INPAGE_ERROR” が表示される」というのがあった。
 一応の手順としては,方法1から方法3があるが,まず,方法1(最新の Service Pack をインストールする)は関係なし。方法3(ウイルスチェック プログラムを実行する)も多分関係ないと思ったが,MBRも含めて一応やってみた。特に何も見つからなかった。ここまで書いてきたことで分かると思うが,青画面後の起動はなんの問題もなかった。ということで,方法2をやることになるわけだが,これは要注意。もし,HDDにでも異常がある場合は,Chkdskが致命的な事態を引き起こしかねない。で,これをやる前に,システム全部のバックアップを先にやった。手持ちの古めのTrueImageでバックアップできたので,不良セクタはないかもしれないと思った。

 それと,上記リンクページの詳細に,

    第 1 または第 3 のパラメーターのいずれかがゼロでない場合、以下の定義が適用されます。

  1. 状態コード
  2. I/O 状態コード
  3. ページ ファイル番号
  4. ページ ファイルへのオフセット <— ということで,ここだけが前回と違っていたのも納得。
    この場合、この問題の原因は、”第 2 のパラメーターの値” インジケーターの後に “一般的な原因” 形式がある以下の情報を使用することにより、第 2 のパラメーター (I/O 状態コード) から判別される場合があります。

  • 0xC000000E または STATUS_NO_SUCH_DEVICE: 通常は不良なハード ディスク ドライブ、不良なディスク アレイ、または不良なコントローラー カードによりドライブが使用不可能。

というのがあった。しかし,ひどい訳だね。英文のままの方がマシなんじゃないの。もうちょっとどうにかならんのか —> MS。

 さて,chkdsk /f /r。これ,結構な時間がかかった。多分,異常があるからだろうと思っていたのだが,無事終了した後のログを見たら,

Checking file system on C:
The type of the file system is NTFS.
Volume label is Volume_Label.

A disk check has been scheduled.
Windows will now check the disk.
Cleaning up minor inconsistencies on the drive.
Cleaning up 952 unused index entries from index $SII of file 0x9.
Cleaning up 952 unused index entries from index $SDH of file 0x9.
Cleaning up 952 unused security descriptors.
CHKDSK is verifying file data (stage 4 of 5)…
File data verification completed.
CHKDSK is verifying free space (stage 5 of 5)…
Free space verification is complete.

32812730 KB total disk space.
22598892 KB in 73176 files.
23096 KB in 8846 indexes.
0 KB in bad sectors.
138190 KB in use by the system.
49248 KB occupied by the log file.
10052552 KB available on disk.

4096 bytes in each allocation unit.
8203182 total allocation units on disk.
2513138 allocation units available on disk.

ということで,bad sectorsは0だけど,Cleaning up minor inconsistencies on the drive.が出ている。chkdsk /fをかけてみた。2度目のログは以下のとおり。

Checking file system on C:
The type of the file system is NTFS.
Volume label is Volume_Label.

A disk check has been scheduled.
Windows will now check the disk.
Windows has checked the file system and found no problems.

32812730 KB total disk space.
22673716 KB in 73209 files.
23100 KB in 8847 indexes.
0 KB in bad sectors.
138190 KB in use by the system.
49248 KB occupied by the log file.
9977724 KB available on disk.

4096 bytes in each allocation unit.
8203182 total allocation units on disk.
2494431 allocation units available on disk.

 うーん,原因は何だろう。やっぱりそろそろ,HDDを疑ったほうがいいのかなぁ。HDD-SCANでは,正常。CrystalDiskInfoでは,注意と出た。微妙なところかな。注意を怠らないようにしないと。日々,バックアップに努める(爆)。

カテゴリー
Windows

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

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

 PHP 5.4.1に変更―04.23(月)―してから,例のcrashは2度起こった。まあ,安定していると言ってもいいだろう。で,May-04 01:09:54 UTC にPHP 5.4.2 がリリースされたので,アップデートしてみた。( @00:30)

 php.iniについては,5.4.1と違いがないので,これをそのまま使う。php5apache2_4.dll をPHPディレクトリに追加するのを忘れないこと。もちろん,Apacheの再スタートもね。

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

カテゴリー
Windows

覚え書-#9。

投稿アップデート情報  追記(4/28)  追記2(5/2)

 前稿のように PHP 5.4.1 にしてしまったので,事後報告になるが,ここ4・5日あたふたしていたことを書いておく。

 Apache 2.2.x までは
     [notice] Parent: child process exited with status 3221225477 — Restarting.
だった error_log のメッセージが Apache 2.4.x では
     AH00428: Parent: child process exited with status 3221225477 — Restarting.
になったので, AH00428 でググッて
     Apache randomly stop responding [Solved]を見つけた。そこで,4/23 @18:13,
     AcceptFilter http none   すでに使用中
     EnableSendfile Off   出力ファイルのメモリバッファをapacheからWinに移行。
     EnableMMAP off   出力ファイルのメモリバッファをapacheからWinに移行。
conf に2行を追加してみたが,クラッシュがいっそう激しくなり,@22:28 に仕方なく元に戻した。その後,さらに5.4.0RC8を使っていた。こっちのが,少しましだったので。

 やはりページの処理に無理のかかっているときに落ちる気がするのだが,ページが増えてきたせいもあるだろうか。今のところキャッシュの考慮はまったくやっていないのだが,したら違うだろうか。

 ググッていたら,http://mikenekoworks.com/?p=1512 に
     PHP5.4がセグメンテーションフォルトしまくるんでAPCを3.1.10に更新したら幸せになった。
というのがあった。もちろんLINUXの話だろうし,今回のとは無関係かもしれないが,もしかして APCとかmemcacheとか使ってやったら,私も幸せになれるかしらん。

 まぁ,落ち着いたら,APCとかmemcache の導入も考えてみることにしよう。

追記(4/28):
 以下の構成で安定したよー,ぱちぱち。

  • WindowsXP HE SP3 (x86) 無理やりSP3をあててる
  • Apache 2.4.2 (VC9) (x86) Apache Loungeから
  • MySQL 5.5.23 (x86)
  • ActivePerl 5.14.2.1402 (x86)
  • PHP 5.4.1 (Thread Safe) (VC9) (x86)

追記2(5/2):
 今朝,8時半ごろ, crash + restart が起きた。5日強で1回だから,劇的に減った。ありがちなメモリリークとかも調べてみないといけないかな。