2009年12月30日水曜日

全国の今日の気分測定 [携帯][iPhone]

・-10〜10で今日の気分を送信する。
 ⇒プルダウンかな。
・テキストはなし。
・同時にGPSの位置情報も送信。
・別メニューからは全国の今日の気分を見れる
 ⇒全国、都道府県、市区町村レベルまで細分化可能
 ⇒値としては平均値/プラス人数/マイナス人数/を総数、男女別で表示
・オプション的にその日の天候や大きいニュースも保存しておく。
・将来的には、コメントや年齢層なども送信するけどとりあえずは気楽なインターフェースにする
・まずはPHPでwebベースでテストしてからiPhoneアプリなどで構築
 ⇒うちの環境ではiPhoneアプリは作れないので会社で作るかぁ・・・

面白そうじゃないかな。
みんな使うかわからないけど。。

2009年12月3日木曜日

携帯でのHTTP_HOSTとPORTとHTTPS [携帯][PHP]

PEAR::Net_URLを使っててコンストラクタに渡すURLが完全なURLでない場合(ドキュメントルート以下のパスだけ。/sample/index.phpとか。)環境変数のHTTP_HOSTから値をもってきて色々やって完全URLを作るみたいですが、ezwebでSSL領域から非SSL領域に移動するときに使用するとHTTP_HOSTにポート番号(443)がついてしまう。
ex) $_SERVER[HTTP_HOST] => www.example.com:443

これはezwebの仕様なのかこの場合のサーバの設定のせいなのか、ともかく非SSL領域なのに443ポートがついたURLが生成されてしまいアクセス出来ない。

つまり、
https://www.example.com/index.php から http://www.example.com/sample/index.phpに移動しようとして、Net_URLのコンストラクタにsample/index.phpって渡すとhttp://www.example.com:443/sample/index.phpにアクセスしてしまい表示されない(502エラー。Gatewayエラー?)

と、ここまで書いてプログラムを見直してみたけど、Net_URLは環境変数HTTPSでSSLか非SSLを判定しているようだ。
このサーバでは環境変数にHTTPSがないので非SSL領域に移動してしまいエラーになってるようだ。
むぅ。

とりあえずコンストラクタに渡すURLを完全URLに変更することで回避してみようかと思う。

2009年12月1日火曜日

PHPでのエラー制御:画面真っ白 [PHP]

phpで書いたページでたまに画面が真っ白になることがある。
今日も真っ白になってしまったので、
ini_set('display_errors', 'On');
error_reporting(E_ALL);
とかでエラーを見てみようかな、と思ったけど一向に表示されない。
なので頑張って検索してみたら有力な情報を発見。


それによるとE_ALLでは0と扱われて全てのエラーを表示してくれないようです。

なので以下のように設定し直したらちゃんと表示されました。
ini_set('display_errors', 'On');
error_reporting(6143);

【追記】
ビット値で入力するのは.htaccessなどらしいです。
php内に書いてもやはり出てこないです。
おそくらfatalエラーとかで実行完了してないからかなと。。。