Explorer がフリーズする

2012年10月29日月曜日

最近 Windows XP でファイル・フォルダーを見る Explorer がエラーメッセージを出して、フリーズすることが多くなった。終了しますのメッセージの後、フリーズしてキーなど受け付けなくなる。

Ctrl+Alt+Delキーでタスクマネージャーから終了させると、終了と同時に画面上のアイコンが全て消えて書き直す。フリーズするフォルダーを見ていると、どうも特定のフォルダーで起きているようだけど、困ったことに毎回必ずクラッシュするようでもない。

Yahoo 知恵袋」で紹介されている方法で Explorer を開くと、クラッシュするフォルダーがスムーズに問題なく開く。

原因と解決方法がわからないので、とりあえずファイルのバックアップのため、怪しげなフォルダーのものを別のフォルダーを作って移動させておくことにする。

ブログを壊した

2012年10月23日火曜日

ツブヤキのブログ Duffer Dog を壊してしまった。
CMS をバージョンアップしようとして、失敗したために表示しなくなってしまった。何とかしようとして、FTP で幾つかのフォルダーやファイルを直接触ったので、修復は難しいかもしれない。

PHP で Strict Standards のエラー

2012年6月1日金曜日

  ローカルで Xampp を動かして、テスト用に使っています。
  先日、Xampp 1.7.4 を 1.7.7 へバージョンアップしました。含まれるサーバーのバージョンは

XAMPP1.7.4(Apache 2.2.17、PHP  5.3.5、MySQL 5.5.8)
XAMPP1.7.7(Apache 2.2.21、PHP  5.3.8、MySQL 5.5.16)
です。この結果、PHP のエラー
Strict Standards: Declaration of dbTable::create() should be compatible with …
が大量に出てくる。
  調べてみると、PHP 5 から変数の受け渡し方法が変わったそうで、値そのものを渡すか値の置かれているアドレスを渡すかということだそうです。その値の受け渡し方法の違いから予期せぬ結果を招かないために、PHP が確認するようにメッセージを出してくれるらしい。だからこのメッセジを表示しないようにすればいい。
  その設定は php.ini ファイルの 500行目あたりにある
 error_reporting = E_ALL | E_STRICT
の  "E_STRICT" を取ればいい。
error_reporting = E_ALL
Apache を再起動してエラーが発生しない事を確認することができました。

  結果として、これでエラーは表示されなくなりましたが、PHP 5.3.5 と 5.3.8 に大きな変更がないことから、多分コードが古いバージョンで書かれていたのでしょうか。
  因みに、PHP の公式マニュアルには「E_ALL:サポートされる全てのエラーと警告。 PHP 5.4.0 より前のバージョンでは、E_STRICT レベルのエラーは除く。」とあるので、PHP 5.3.x には E_STRICT は 'ALL' には含まれていないようです。