mecabインストール毎度忘れてしまうのでメモ。
2013年11月17日日曜日
2013年2月16日土曜日
apache+phpからnginx+php-fpmへ移行してみた
なんとなくapache2+phpからnginx+php-fpmへ移行してみた。別にapacheが遅いと感じている分けではないが、nginxも触っとくかなと。
2013年2月3日日曜日
OpenSlopeOneを使ってみた
レコメンドしたかったのでOpenSlopeOneを使ってみた。Cicindelaの方が色々できそうだけど、OpenSlopeOneのが手軽そうな印象だったので今回はこれを採用。
2012年11月25日日曜日
[FuelPHP] DB接続でちょっとハマる
Database イントロダクションにあるようにAPPPATH/config/db.phpに設定を書いて、Usageのようにqueryをexecuteしたのだけれど、
環境によって接続設定は変えないので、configの下にある下記dirを消してみたところ、APPPATH/config/db.phpの設定で無事に接続。
あと、executeした結果をそのままviewに渡したら、
Fuel\Core\Database_Exception [ 1045 ]: Access denied for user 'root'@'localhost' (using password: YES)
と言われて繋がりません。ユーザ名はrootなんかにしてないのに。。『さくらVPSでFuelPHPからmySQLへDB接続』の記事でも同様の現象か。さすがにpassをrootにしたくはない。環境によって接続設定は変えないので、configの下にある下記dirを消してみたところ、APPPATH/config/db.phpの設定で無事に接続。
development production staging test
あと、executeした結果をそのままviewに渡したら、
Fuel\Core\FuelException [ Error ]: Database results are read-only
と怒られました。これはas_arrayで解消。初めてのフレームワークを障ると毎回色々と躓く。
2012年7月21日土曜日
2012年7月8日日曜日
[CodeIgniter] Cron処理 メモ
CodeIgniterでCronに仕込むバッチ処理を書こうと思って調べてみる。
何もしなくても下記のように普通にコマンドラインから実行できる。
これだけだとURLにアクセスされるとバッチ処理を実行できてしまうので、コンストラクタでコマンドラインからの実行でない場合は404にしておく。
[参考]
CodeIgniter ユーザガイド CLIからの実行
何もしなくても下記のように普通にコマンドラインから実行できる。
$ cd /path/to/project;
$ php index.php controller method
これだけだとURLにアクセスされるとバッチ処理を実行できてしまうので、コンストラクタでコマンドラインからの実行でない場合は404にしておく。
class Cron extends CI_Controller {
function __construct()
{
parent::__construct();
if (!$this->input->is_cli_request()) show_404();
}
}
cron設定できる処理の数が決まっているレンタルサーバとかなら、判定条件を工夫して別のサーバからURL叩いて定期処理をさせるとかもできるか。[参考]
CodeIgniter ユーザガイド CLIからの実行
2012年6月17日日曜日
[CodeIgniter]エラーページのカスタマイズのメモ
CodeIgniterでエラーページはシンプルでheadingとmessageしか表示されないのでカスタマイズする。
まず、application/errors/error_*.phpをいじればデザインは変えられる。
変数とかを渡したい場合は、application/core/MY_Exceptions.phpを用意する。
まず、application/errors/error_*.phpをいじればデザインは変えられる。
変数とかを渡したい場合は、application/core/MY_Exceptions.phpを用意する。
2012年4月14日土曜日
NULL + 1 > 0 はTRUEかFALSEか
PHPだとTRUE。SQLではUNKNOWNのためTRUEではないのでFALSE。
だから僕は、Nullがきらい。
基本的には、NOT NULLにしてnullは排除するように気をつけている。
(例外的に、必須でないけどUNIQUEなカラムは仕方ないのでNULL許すこともあるが)
でも、NOT NULLでNULLを排除していてもNULLは出てくるので困る。そう、外部結合。
NULLを完全に排除なんてできないので、nullについてちゃんと意識してSQLを書こうという今回の教訓。
とりあえず以上。
一応、表題の件を考慮しない失敗例は示しておく。
$ php -r 'echo (null + 1) > 0 ? "TRUE" : "FALSE";'
TRUE
mysql> SELECT IF(NULL + 1 > 0, "TRUE", "FALSE");
+-----------------------------------+
| IF(NULL + 1 > 0, "TRUE", "FALSE") |
+-----------------------------------+
| FALSE |
+-----------------------------------+
1 row in set (0.00 sec)
3値論理であることを意識していないSQLを業務でも結構見る。NULLの取扱い方は難しい。だから僕は、Nullがきらい。
基本的には、NOT NULLにしてnullは排除するように気をつけている。
(例外的に、必須でないけどUNIQUEなカラムは仕方ないのでNULL許すこともあるが)
でも、NOT NULLでNULLを排除していてもNULLは出てくるので困る。そう、外部結合。
NULLを完全に排除なんてできないので、nullについてちゃんと意識してSQLを書こうという今回の教訓。
とりあえず以上。
一応、表題の件を考慮しない失敗例は示しておく。
2011年8月4日木曜日
CakePHP フォーム周りメモ
CakePHPのフォーム要素はdivやlabelがあってどうも気に入らない。消したい。
ということで、マニュアル見てみる。
フォーム要素の自動生成 :: フォーム :: 主要なヘルパー :: マニュアル :: 1.3コレクション
ということで、マニュアル見てみる。
フォーム要素の自動生成 :: フォーム :: 主要なヘルパー :: マニュアル :: 1.3コレクション
2011年8月3日水曜日
CakePHP 画像アップロード
画像のアップロード調べていて、下記ImageBehaviorを知ったので使ってみる。
[CakePHP] 画像のアップロード&リサイズを簡単にできる ImageBehavior | Sun Limited Mt.
使い方は参照元にあるので省略するが、簡単に使えて良い感じ。
ただ、findしたときに関連テーブルのimageまでは処理してくれない。
で、また調べてたら、下記記事でbelongsToに対して処理を足してたので参考にみる。
ちなみに、今回処理させたい関連はhasMany。
cakePHPのimageBehaviorについて – CEED
afterFindに処理を加えてるよう。
今回はhasManyを処理したいので、relatedModelsにhasManyもマージする。
これだけだと動かなかった。。。
hasManyなわけで複数のときもあるので、127-130行までの処理を複数の場合を考慮する。
これでhasManyの関連のテーブルのimageが処理されるようになりましたっと。
[CakePHP] 画像のアップロード&リサイズを簡単にできる ImageBehavior | Sun Limited Mt.
使い方は参照元にあるので省略するが、簡単に使えて良い感じ。
ただ、findしたときに関連テーブルのimageまでは処理してくれない。
で、また調べてたら、下記記事でbelongsToに対して処理を足してたので参考にみる。
ちなみに、今回処理させたい関連はhasMany。
cakePHPのimageBehaviorについて – CEED
afterFindに処理を加えてるよう。
今回はhasManyを処理したいので、relatedModelsにhasManyもマージする。
$relatedModels = array_merge($model->belongsTo, $model->hasMany);
これだけだと動かなかった。。。
hasManyなわけで複数のときもあるので、127-130行までの処理を複数の場合を考慮する。
if (isset($results[$i][$relatedModelName][0])) {
$j=0;
while ( isset( $results[$i][$relatedModelName][$j] ) && is_array( $results[$i][$relatedModelName][$j] ) ) {
if (isset($results[$i][$relatedModelName][$j][$field]) && ($results[$i][$relatedModelName][$j][$field]!='')) {
$value=$results[$i][$relatedModelName][$j][$field];
$results[$i][$relatedModelName][$j][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$i][$relatedModelName][$j]);
}
$j++;
}
} else {
if (isset($results[$i][$relatedModelName][$field]) && ($results[$i][$relatedModelName][$field]!='')) {
$value=$results[$i][$relatedModelName][$field];
$results[$i][$relatedModelName][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$i][$relatedModelName]);
}
}
145-148行のところも同様に。 if (isset($results[$relatedModelName][0])) {
$j=0;
while ( isset( $results[$relatedModelName][$j] ) && is_array( $results[$relatedModelName][$j] ) ) {
if (isset($results[$relatedModelName][$j][$field]) && ($results[$relatedModelName][$j][$field]!='')) {
$value=$results[$relatedModelName][$j][$field];
$results[$relatedModelName][$j][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$relatedModelName][$j]);
}
$j++;
}
} else {
if (isset($results[$relatedModelName][$field]) && ($results[$relatedModelName][$field]!='')) {
$value=$results[$relatedModelName][$field];
$results[$relatedModelName][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$relatedModelName]);
}
}
これでhasManyの関連のテーブルのimageが処理されるようになりましたっと。
2011年7月30日土曜日
2011年5月6日金曜日
2011年3月13日日曜日
PHPでブログ更新ping(weblogUpdates.ping)を送信する
PHPでメール送信してblogger自動投稿してみるの続き。
bloggerではping送信先を追加する機能はないので、どうせPHPでブログ自動投稿するならばping送信までやった方がいいでしょ、とのこと。アクセスアップ的にもping送信した方が良いと言われてるけど、どれほど効果があるものかわからないが、やらないよりはやっとけか。
bloggerではping送信先を追加する機能はないので、どうせPHPでブログ自動投稿するならばping送信までやった方がいいでしょ、とのこと。アクセスアップ的にもping送信した方が良いと言われてるけど、どれほど効果があるものかわからないが、やらないよりはやっとけか。
2011年3月3日木曜日
PHPでメール送信してblogger自動投稿してみる
blogをメールで自動投稿してみたかったので、PHPでメール送信する関数を調べてみた。メール送るのはServersman@VPSのCentOSから。PHPを調べる前にまずはsendmailをgmailに転送する設定を行う。『SendmailでGmailに転送』を参考にした。参考というかほとんどそのまま。
2011年2月24日木曜日
PHP ZendでMemcached使ってみる
重い処理にはキャッシュ。ということで、MemcachedをZend framworkで使用してみた。まずは、Zend frameworkのパッケージphp-ZendFrameworkでは、入らなかったのでインストールから。
# yum install --enablerepo=remi php-ZendFramework-Cache-Backend-Memcached
# /etc/init.d/httpd restart
apacheのリスタートをしないと、下記のようなエラーが出てハマる。2011年2月21日月曜日
PHP Zend_Config_XMLをsimplexml_load_stringに書き換える
XMLのParseにZend_Config_XMLを使ってみたがParse用ではなくConfigファイルを読むためのものっぽいので、simplexml_load_stringに書き換えることにした。
2011年2月20日日曜日
PHP Zend_Config_XML使ってみる。
Zend Frameworkを使用してWebアプリケーションを作ることになった。XMLを処理するので、Zend_Config_XMLを使ってXMLをParseしてみたが、少し使いにくい。
2011年2月15日火曜日
CakePHP ケーキを焼いてみる
CakePHPではcakeをbakeを利用することで、コードを生成してくるらしい。まずはちゃんと調べる前に使ってみる。習うより慣れよ!ちょっと使い方違うかな^^;
とりあえず、consoleディレクトリに実行ファイルあるのでさっそく実行してみる。
とりあえず、consoleディレクトリに実行ファイルあるのでさっそく実行してみる。
2011年2月14日月曜日
CentOSでCakePHPを動かす
色々と訳合って、CakePHPをやることになりそう。LAMP環境は整っているので、あとはCakePHPを用意しておく。
http://cakephp.jp/
CakePHPのサイトから落として解凍して、DocumentRoot直下にcakephpというディレクトリ名で移動して準備完了。
http://cakephp.jp/
CakePHPのサイトから落として解凍して、DocumentRoot直下にcakephpというディレクトリ名で移動して準備完了。
登録:
投稿 (Atom)