この頃若いねー、E-CHA E-CHA

E-CHA E-CHA
ガリマタのダンスが面白いし、メロディーもいい感じなんです

あんまり有名じゃないけど。。。蝉

semi

大宰府にいってきました。

近所に大宰府があったので行ってきました。
上のほうは階段が続いたので、体力不足の僕にはつらいものでしたー。
頭よくなることを祈りつつ!

近所の海に行ってきました。

たまにはバイクでお出かけ。
海草が一杯でいまいち綺麗じゃなかったです。
去年は結構綺麗だったのになー

CakePHP で 複合キー

CakePHPは複合キーに対応していないっぽいです。
主キーの変更はできるのに、残念!

centos5.8 に 最新のimagemagick をソースからインストール

今回はソースからインストールします。

# wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.7.6-9.tar.gz
# tar xvzf ImageMagick-6.7.6-9.tar.gz
# cd ImageMagick-6.7.6-9

# ./configure –disable-static –with-modules –without-perl –without-magick-plus-plus –with-quantum-depth=8 –disable-openmp

configureの最後のほうに出てくる一覧で、

JPEG v1 –with-jpeg=yes no

となっている場合は、libjpeg を インストールする。

# yum -y install libjpeg-devel.x86_64

再度 configure をして、

JPEG v1 –with-jpeg=yes yes

になっていればOK。

あとは、お決まりの、

# make
# make install

makeは結構時間がかかります。
完了したら、チェック。

# convert -version
Version: ImageMagick 6.7.6-9 2012-05-08 Q8 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features

さらに、どこか適当なディレクトリにてサイズが大きめの a.jpg をおいてテスト。

# convert a.jpg -resize 320×245 a2.jpg

これで、a2.jpg が↑のサイズで存在していれば成功。
もし、

convert: no decode delegate for this image format

のエラーがでたら、jpg対応に失敗しているので、yumでlibjpegを入れて、再インストール。

# cd ImageMagick-6.7.6-9
# make uninstall
# make clean

をしてから、↑の configure から再スタート。

phpからの使い方ですが、私は exec() を利用しています。
こんな感じ

// 元ファイル
$file1 = /var/www/html/example.com/imga/a.jpg
// リサイズ後のファイル
$file2 = /var/www/html/example.com/imga/b.jpg
// コマンド
$command = ‘/usr/local/bin/convert ‘.$file1 .’ -resize 150x ‘ . $file2 ;
// 実行
exec($command);

これで、リサイズされたファイルが出力されます。
出力されない場合は、$commandの内容を出力して、コマンドラインから実行してみてください。
実行できる場合は、出力フォルダの権限の問題で、実行できなかった場合はエラー内容からコマンドをチェックしてください。

【cakephp】 サブドメインで管理画面を作成するときの注意!

cakephpで、サブドメインを使い管理画面を作成する場合の注意点です。

エラー内容は、
サブドメインの管理画面にログインすると、通常ドメインのサイトがエラーになる。(正確には、ドメイン/users/loginにリダイレクトされる)
というものです。

発生する用件は、
・同一サーバーにて、cakephpを2つ使っている。
・片方のcakephpの「app_controller.php」に[$components = array('Auth');」設置している。
・両方のcakephpにて、同一のキャッシュシステムを利用している(memcached とか APC)とか。

この現象が発生する原因は、core.phpのキャッシュシステムを選ぶ箇所にあります。

私の場合は、両方のcakephpにてAPCキャッシュを利用していました。
そのため、デフォルトでは同名のキャッシュが発生し、通常ドメインのサイトのほうでもログイン認証に飛ばされてしまっていたようです。

解決策は、core.phpのprefixを変更します。

Cache::config('default', array(
'engine' => 'Apc', //[required]
‘duration’=> 3600, //[optional]
‘probability’=> 100, //[optional]
//’prefix’ => Inflector::slug(APP_DIR) . ‘_’, //[optional]  prefix every cache file with this string
‘prefix’ => ‘hogehoge_’,
));

片方のcakephpの変更だけでOKです。

最近のサイトを開設したから、Googleページランクが付くまでの期間

このブログの話ではないですが、
2012年3月20日ごろにサイトを完成させて、2012年5月5日にやっとGoogleページランク「3」が付きました。

1ヶ月も掛かんないだろうなーと思っていたのですが、結構掛かりました。

最近ではGoogleページランクは意味の無いものとなっていますが、嬉しいものですね。

博多どんたく2012

写真を撮ってきたので、保存代わりのアップです。
曇り空で結構寒かったけど、人は大勢いました!
なかなか面白かったですー

 

mysql5.5 で slow query log スロークエリーログ を採る

mysql5.1以降では、0秒のクエリーログを取得することが出来るため、スローなクエリーではないけれども、乱発しているクエリーを発見しやすくなりました。
キャッシュ漏れなどを探すのにとてもいい感じです。

mysql5.1未満の場合は内容が異なりますので、参考にしないでください。
続きを読む

return top