CakePHP Archive
さくらインターネットのサーバとCakePHPでcronを使う方法をすこし変えてみた。
さくらインターネットのサーバとCakePHPでcronを使う方法の修正版です。
よくきたはてダさんに指摘をもらった。
確かにそうだな。。。ということでちゃんと書く。(まだ微妙かもしれんが)
* cronで実行するPHPスクリプトの作成
* 該当スクリプトのテスト
* コンパネでcronの設定
* 正常動作の確認
cronで実行するPHPスクリプトの作成
まず、cronで実行させたいPHPのスクリプトを作ります。
今回は、users_controller.phpにmail関数を作り、メールを送信します。
次に、app/webroot/files以下に、cron.phpというファイルを作ります。
該当スクリプトのテスト
次にさっきつくったPHPスクリプトが正常に動作するか確認してみます。
以下のURLにアクセスしてみて動いたらとりあえずOK。
http://hogehoge.com/files/cron.php
コンパネでcronの設定
さくらのコントロールパネルでcronの設定をします。
/usr/local/bin/php /home/(ユーザ名)/www/cakephp/app/webroot/files/cron.php
正常動作の確認
これで、定期的にhttp://hoge.com/users/mailが実行されるようになる。
とまぁ書き直してみたものの、このスクリプトをWEBからアクセスできるのはだめな書き方だからcomponentsとかにスクリプト書いてそれをcronで実行する形がいいのかな。ってかmailっていう例が良くなかったかもな。
ちなみに、さくらだと
OS FreeBSD 6.1-RELEASE-p10 i386
なので、fetchとかwgetってのが使えるらしい。
ってことを目的としては行いたいみたいなんだけど,さくらだとFreedBSDかな.fetch(あるいは入って入ればwget)をcronで使えばいいんじゃないのかな.
とりあえず、fetchとかwgetがよく分からんので調べる。
一番分かりやすい説明がここだった。
XREA & CORESERVER の cron と WordPress の wp-cron
XREAでの説明だけど、wgetの意味が分かった。
elfさんに指摘をもらうなんてWEBってすげーと思いつつ、自分が書くものには責任が持てる記事じゃないとなーとか反省。
どっちにしてもcronが良くわからないから勉強しなきゃな。
- Comments: 0
- Trackbacks: 74
さくらインターネットのサーバとCakePHPでcronを使う方法
さくらインターネットのサーバとCakePHPでcronを使う方法
まず、さくらでcronの設定をします。
実行するコマンドに
/usr/local/bin/php /home/(ユーザ名)/www/cakephp/app/webroot/files/cron.php
とします。
次にCakePHPの設定。
app/webroot/files以下に、cron.phpというファイルを作ります。
これで、users_controller.phpにmail関数を作る。
-
-
hogehoge
-
-
}
これで、定期的にhttp://hoge.com/users/mailが実行されるようになる。
参考サイト
アルファブレンド・プログラミングチップス
CakePHP cronを利用する
さくらインターネットでのcronの設定
- Comments: 0
- Trackbacks: 68
CakePHP1.2系のインストール
CakePHP1.2系のインストールをしていたら、エラーがでました。
はて、1.1系はでなかったぞ。と思い調べて見る。

CakePHP- the rapid development php framework- Home-2008-02-11 -15-55-14 posted by (C)いもけん
調べて見ると、
-
/**
-
* A random string used in security hashing methods.
-
*/
-
Configure::write('Security.salt', 'D1hG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
このハッシュを変更してくてはいけないらしい。

CakePHP- the rapid development php framework- Home-2008-02-11 -15-59-28 posted by (C)いもけん
このように黄色の文字はなくなりました。
で、みどりのとこはなんて書いてあるのかというと、
Your tmp directory is writable.
The FileEngine is being used for caching. To change the config edit APP/config/core.php
Your database configuration file is present.
Cake is able to connect to the database.
なので大丈夫みたいだな。
- Comments: 0
- Trackbacks: 65
apacheのvhosts(httpd-vhosts.conf)を使ってcakephpというドメインを使う方法
apacheのvhostsを使ってcakephpというサブドメインを使う方法
1.まず、「C:\Program Files\xampp\apache\conf\extra\httpd-vhosts.conf」をテキストエディタで開く。
そして、最後の行に、これを追加するだけ!
NameVirtualHost *:80
DocumentRoot "C:\Program Files\xampp\htdocs"
ServerName localhost
DocumentRoot "D:\cakephp"
ServerName cakephp
Order allow,deny
Allow from all
DocumentRootは作業ディレクトリ
ServerNameは自分が作りたいドメイン
2.「C:\WINDOWS\system32\drivers\etc\hosts」をひらく。
127.0.0.1 localhostの下に、
「127.0.0.1 cakephp」
を追加する。
すると、アクセスできるようになってるよ。
つまったところをピックアップ。
・localhostは入れること!!
・下の二行は入れること!
Order allow,deny
Allow from all
・apacheは再起動すること!!
- Comments: 0
- Trackbacks: 644
CakePHPガイドブック買ったよ!!
- 2007-10-25 (木)
- CakePHP
CakePHPガイドブック買ったよ!!
まだ最初の方しか読んでないけど、初心者であるおれが行き詰った箇所が多々説明されていてCakePHPを触ったことない人には絶対おすすめしたい本かな!
しかも、結構触ってる自分でも「あ~なるほど」と思える部分が解説されていて、既存のユーザにもすごくおすすめの本ですね!
著者の方々に感謝 :-)
そういえば、CakePHP のおいしい食べ方であったんだけど、1.2 pre-bet、1.1.18がついにきたそうな。
- Comments: 0
- Trackbacks: 56
【CakePHP】コントローラ側でのバリデーション ファイルアップロード時のinvalidateの使い方
CakePHPの優れたバリデーションを紹介。
今回はコントローラ側での処理を考える。
モデル側でやれよとか言われそうだが。。。
コントローラ側
if(file_exists($this->data['User']['pic']['tmp_name'])){ //ファイルの存在を確認 tempの状態で確認
$filesize = filesize($this->data['User']['pic']['tmp_name']);//ファイルサイズを取得 tempの状態で取得
if($filesize < = 100000){ //100000byte以下しか受け付けない
if(ereg("(^[a-zA-Z0-9_-]+)\.(jpg)|(^[a-zA-Z0-9_-]+)\.(gif)",$filename)){ //jpgかgifしかアップできない
move_uploaded_file($this->data['User']['pic']['tmp_name'], $updir.DS.$filename); //ファイルをuploadフォルダに保存
} else {
$this->User->invalidate('error1'); // tagErrorMsg('User/error1') 拡張子チェック
}
} else {
$this->User->invalidate('error2'); // tagErrorMsg('User/error2') ファイルサイズが大きすぎ
}
}
ポイント
$this->User->invalidate('error1');
このerror1というのがビューでのエラーメッセージ表示と繋がる。
ビュー側
< ?php echo $html->file('User/pic');?>
< ?php echo $html->tagErrorMsg('User/error1', 'jpg かgif のファイルしかアップできません。或いはハイフン以外の記号があります。');?>
< ?php echo $html->tagErrorMsg('User/error2', 'ファイルサイズが大きすぎます。
100000 Byte 以下にしてください。');?>
これで、それぞれ指定したエラーメッセージをコントローラ側で処理できる。
ちなみにマニュアルにもちょこちょこ書いているので参考までに。
validateErrors();
;保存に失敗時に、エラーの数を返します。
validate();
;モデルのバリデーションルールに基づいて、モデルのデータを検証します。バリデーションについては、 "データバリデーション"の章を参照してください。
http://cakephp.jp/doc/ch07s02.html
http://cakephp.jp/doc/validation.html
- Comments: 9
- Trackbacks: 64
ideaxideaでCakePHP修行!
- 2007-06-21 (木)
- CakePHP
CakePHP修行! カテゴリー
http://www.ideaxidea.com/archives/cakephp/
きたこれ。
これでCakePHPユーザーが増えてくれないかなー。
オレも一回SNS挑戦したけどむずかったからこれに習ってつくろっかな。
- Comments: 1
- Trackbacks: 0
【CakePHP】PHPによるJavaScriptを書かないAjax
PHPによるJavaScriptを書かないAjax
まだ見てないけど、CakePHPのことが100Pほど紹介されてるみたいですよ^^
これで2冊目!!!!
bake.phpではないらしいので、また違った視点でのCakePHPの開発の様子を見ることが出来そうですねー。
- Comments: 7
- Trackbacks: 54
ソーシャルニュースサイトがCakePHPで動いてるんだって。
- 2007-04-13 (金)
- CakePHP
CakePHPで動いてる?サイト。「niftyトピックイット」

http://topic.nifty.com/index.php
ここにアクセスすると見れます。
TechKnowledgeさんはよく発見したなー。すげーな。
symfonyが米Yahooに採用されたって結構さわがれてたけど、CakePHPも結構使われてると思うなー。
もじらのaddonに続いて大手の採用事例なのかなー。いいことだ。
- Comments: 0
- Trackbacks: 0
CakePHPはもしもPHP6になっても大丈夫!
らしい。
CakePHPの現在の様子と各バージョンについて
1.1系 開発終了(バグフィックスのみ)
1.2系 現在開発中(結構安定している。)
2.0系 1.2系であふれたものを入れている
3.0系 PHP6に対応するバージョン
らしい。
まぁPHP6になったときZendが頑張ってたらCakePHPは淘汰されてるだろうし、もっと面白いフレームワークがでてくるかもしれないけど、CakePHPがPHP6になっても動くってことはユーザとしてはCakePHPの意気込みを感じるなーと少しうれしくなった。
- Comments: 0
- Trackbacks: 0
