PHP Desktop にて
PHP(及びhtml,Javascript,css等)製のWEBアプリが、ローカルアプリのように動かせるようになる「PHP Desktop」。
インストールも不要で、ただGitHubからダウンロードしたものを解凍するだけで使えます、
先日そのPHP Desktopで、知人に依頼された業務用アプリを作成しました。
私の環境では特に問題なく動いていたのですが、知人に配布したところ「動かないよ」と報告あり。
リモートにて確認してみると、Htmlヘッダが二重に生成されてしまっているおかげで、本来のコードがまるでソース画面のように表示されてしまっている。
Node.jsを事前にインストールしておくとか、そういった面倒は一切なく使用できるはずなのに…。
試しに、index.phpに echo 'Hello'; とだけ打ち込んで実行してみた。
結果:
-------------------------------
Transfer-Encoding: chunked
12
Hello
0
---------------------------------
PHPエラーは吐いておらず、echoメソッドは働いておるので、VC++ランタイム等が原因なわけでもなさそう。
あれやこれやと2時間ほど格闘し、ようやく突き止めた原因は、セキュリティソフトでした。
PHP Desktopは、その名の通りPHPが動きます。
つまり、内部的にwebサーバーを通します。
アプリはスタンドアロン”風”ですが、実態は http://127.0.0.1:* で動いているわけです。
その知人が使用していたセキュリティソフトは、Canon ESET NOMAD32。
他のセキュリティソフトは検証しておりません(※1)が、上記のセキュリティソフトでは引っかかります。
知人宅には3台のPCがあり、そのうちの2台にESET NOMAD32が入っており、その2台だけでPHP Desktopが動かないというのですから、ほぼ確実でしょう(※2)。
ESET NOMAD32側で、WEBセキュリティの許可リストに http://127.0.0.1 及び http://localhost を追加することで、無事稼働しました。
※1:私が使用しているWindows Defenderだけは検証済みです。引っかかりません。
※2:Canonさんのこの製品が悪いと言っているわけではありません。いや、むしろ、ローカルホストさえも監視してくれているというのは、セキュリティソフトとしては天晴です。