2012年3月27日火曜日

CakePHP いつもはうまくいくのにエラーになるとき見直す項目

CakePHPでサイト構築中、いつもは何も起こらない場所でエラーが発生する場合がある。
大概は、しょーもないミスが原因。でも、しょーもなさすぎると逆にどこでミスしているかわからない。

そんなしょーもないミスをおかすたびに、このコンテンツが増えますよ。

■Missing Database Table
コントローラもビューもDBにテーブルも作った。でも表示されない・・・という症状。

・テーブル名が複数形になっていない
drink → drinks

・複数形が特殊(英語的に)で接続できない

2012年3月7日水曜日

Windows:キーボードをASCIIに交換したい

ASCII(英語)キーボードを接続したのに、JIS(日本語)キーボードの配列のままだ。これなんとか直したい、という場合の解決方法。

Windowsってのはインストール時にJISキーボードを指定しちゃうと、後でASCIIに変更しようとするとレジストリをいじらなくちゃならない。これ、正直面倒くさい。自分のPCじゃないと作業後に元に戻さなくちゃいけないし。

そこでオススメなのが「キーボード切り替えツール Ver1.1」。
Vista、Windows7にも対応。

キーボード切り替えツール Ver1.1
http://www.posttips.net/aoyama/keyboard/index.html

フリーウェアですが、ウェブページで寄付もできますよ。

alt+スペースで日本語/英語入力を切り替えたい

Altキー+スペースキーで入力言語を切り替えたい、という人は多いと思う。
特に

 MacとWindowsを両方使っている
 ASCII(英語)配列キーボードを使っている
 キーボード操作はMac寄り

という方は、文字切替でイライラしていると思う。Alt+~とか面倒すぎる。~が遠いんじゃボケ。などと毒づいていることかと思います。

そこでオススメなのがCmdSpaceというソフト。
Office系ソフトなどで不具合の報告があったりもしますが、Windows7でも使えて快適。
AltだけでなくCtrl+スペースにもできるそうな。

元々、この方が困っていたのを、かつて同僚に相談したところ作ってくれたのだとか。
同僚の方、ステキ。

試してないけど、これ、ASCIIじゃなくてもJISでも相当便利なんじゃないですかね? 半角/英数、遠いんじゃボケ!とかいう人にもオススメじゃねえかなぁ?

「URL rewriting is not properly configured on your server.」というエラー。mod_rewriteが原因でない場合

cakephp1.3

インストール後にdefault.ctpをアップしたらこのようなエラー表示がなされた。

URL rewriting is not properly configured on your server.

一般的にこのエラーはmod_rewriteの設定ミスであることが多い。

 エラーからはこちらに案内される
 http://book.cakephp.org/1.3/view/917/Apache-and-mod_rewrite-and-htaccess

が、しかし、今回はdefault.ctpを入れる前には問題がなかったので、mod_rewrite自体のエラーではない。

結論から言うと、このエラーは「cake.generic.css」が読めていない事が問題。
default.ctpテンプレートでcake.generic.cssを読むように変更したところエラーが表示されなくなった。

実際には、デフォルトのページのままの運用とかはしないと思うので実害はないだろうけども、目を皿のようにして.htaccessをチェックしたあげく、どこも間違っていない・・・と泥沼にハマる前に。