2013年6月17日月曜日

IIS6以上CGIでのstderr落ち問題

502 - Web サーバーがゲートウェイまたはプロキシ サーバーとして動作しているときに、無効な応答を受信しました。

検索中のページに問題があるため、ページを表示できません。Web サーバーがゲートウェイまたはプロキシ サーバーとして動作し、上位のコンテンツ サーバーと通信しているときに、コンテンツ サーバーから無効な応答を受信しました。


(2016/8/2 追記) ISAPI 拡張では stdout/stderr を使いませんので、存在しません。GetStdHandle を呼び出しても恐らく NULL が返ってくるだろうので、NULL アクセスで Access Violation になり、エラー落ちするのだと考えられます。
What is an ISAPI Extension? に記述のある EXTENSION_CONTROL_BLOCKReadClient WriteClient を代わりに呼び出すだけです。

さて、エラーは次の条件下で発生するようです:
  • IIS6以上を使っている。
  • phpやperlなどを使っている。CGI/ISAPIに関係なく。
  • stderrに何かを出力する。 

可能性の高い例として、外部プログラムがstderrに出力する場合が挙げられます。

対策例:

exec("pdftk.exe 2>&1", $output, $retval);

コマンドの末尾に"2>&1"をくっ付けて、stderrからstdoutにリダイレクションするか、
"2>NUL"で、Nullデバイスに捨てるのが手っ取り早い対策です。。。

参考:

PHP StdErr after Exec()
http://stackoverflow.com/questions/2320608/php-stderr-after-exec

php5でのexecとstderr
http://dd-kaihatsu-room.blogspot.jp/2013/03/php5execstderr.html

2013年6月12日水曜日

IE10が起動できない。GPUレンダリングをオフに

IE10が起動できない… 数日前までは問題なかったのに…

WinDbgで追跡した結果… DirectX関係で失敗している事が判明。

「GPUレンダリングではなく、ソフトウェアレンダリングを使用する*」をオン(チェック入れる)にしたら、起動するようになりました。


IEを起動できない場合は、「コントロールパネル」から「インターネット オプション」を開きます。

---

Microsoft社のサポート情報がヒットしましたので、参考までに。

初心者でもわかる! IE で GPU レンダリングを無効にする (IE10/IE9)
http://support.microsoft.com/kb/2618121/ja

2013年6月6日木曜日

アバストは疑わしいプログラムを分析しています

アバストは疑わしいプログラムを分析しています
このプログラムはアバストサンドボックス内で稼動しています。これにより、仮にソフトが悪意のあるものであったとしても、コンピュータにダメージを与えることはできません。

設定を変更する

自動サンドボックスを有効にする→オフ

これでもう警告が出なくなりました。

業務用パソコンだと、運用するにはしんどいです。


2013年6月3日月曜日

事務用パソコンの選択は、デスクトップかノートか?

「ノートを推したい」派の意見

  • ケーブル類が少ないので、3Sの適用が手軽。
  • LANは無線化できて、
  • 外には電源ケーブルとマウスの線ぐらいしか出ない。

「ノートを推しているんじゃありませんよ」派の反対意見

  • マルチモニタが想定されていない。できない訳ではないが、ディスプレイを増設すると、目の高さが合わないそういうことを気にせず増設している会社が有った。。。
  • ノートには、テンキーを装備して居ない機種が多い2013年現在、横長ワイドが流行っていて、テンキー装備の物が多い。
  • 買い替えの場合、前と同じキーボードを使う、という訳にはいかない。
  • 社長が買い替えに至る動機、ストーリーや美談が、ない。。。

ネットで調べた情報(デスクトップ PC は絶対に無くならない? )

  • デスクトップの良さ:
    • 処理能力が高い
    • 周辺機器をより多く接続できる
    • モニタのサイズが大きい
    • マルチモニタに適する
    • 臨場感(ゲーム・映画)
    • 故障時は自分で修理したり、部品交換ができる