カテゴリー別アーカイブ: プログラム

CakePHP 多言語対応 locale

viewファイルに文言書くとき

 

のように、
翻訳する部分は全て __(‘ ‘)で囲んでおく。アンダーバー2個!
この中身が日本語でもいいみたいだけど、やっぱり普通は英語なのかな。

i18nを使用して翻訳用のファイルを作成する。

コンソールにて
cd cakephpのappのパス/Console
./cake i18n -app cakephpのappのパス

こんな感じに出てくる
Welcome to CakePHP v2.4.6 Console
—————————————————————
App : Console
Path: /cakephpのappのパス
—————————————————————
I18n Shell
—————————————————————
[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
>

potファイルを作成するので、E エンター

あとは聞かれるがままに、、
そのままエンターし続けてもファイルはできる

app/Locale/default.pot

app/Locale/配下にjpn/LC_MESSAGESのフォルダを作成し、
先ほどできたpotファイルを
default.po という名前でコピー

後は、中身に日本語を入れればOK。

特に表示の設定をしなければ、日本の環境なら日本語が表示される

参考ありがとう:

CakePHP DebutKit 導入

CakePHPの設定がひととおり終わった状態から。

今回は、コマンドでやってみる。

$ cd app/Plugin
$ git clone https://github.com/cakephp/debug_kit

プラグインのフォルダ名を変更しておく。
$ mv debug_kit DebugKit

●プラグインのロード記述
/app/Config/bootstrap.phpに以下を追加
CakePlugin::load(‘DebugKit’);

(複数のプラグインを導入する場合は、ひとつひとつ書かずに CakePlugin::loadAll(); でもOK)

●コンポーネントの飲み込み
/app/Controller/AppController.phpのクラスの中に以下を追加
public $components = array(‘DebugKit.Toolbar’);

これで、画面の右上に、アイコンが固定表示される。
クリックすると、いろいろ情報が見れる

さらに、実行SQLを表示する場合、
/app/View/Layouts/default.php に記述追加
element(‘sql_dump’); ?>

参考ありがとう:http://qiita.com/BUN/items/403cccad9eaa831e6fd8

CakePHP2 BoostCake導入

CakePHPの設定がひととおり終わった状態から。

今回は、コマンドでやってみる。

$ cd app/Plugin
$ git clone git://github.com/slywalker/cakephp-plugin-boost_cake

プラグインのフォルダ名を変更しておく。
$ mv cakephp-plugin-boost_cake BoostCake

●プラグインのロード記述
/app/Config/bootstrap.phpに以下を追加
CakePlugin::load(‘BoostCake’);

(複数のプラグインを導入する場合は、ひとつひとつ書かずに CakePlugin::loadAll(); でもOK)

●ヘルパー追加
/app/Controller/AppController.php に追加
public $helpers = array(
‘Session’,
‘Html’ => array(‘className’ => ‘BoostCake.BoostCakeHtml’),
‘Form’ => array(‘className’ => ‘BoostCake.BoostCakeForm’),
‘Paginator’ => array(‘className’ => ‘BoostCake.BoostCakePaginator’),
);

参考ありがとう:
http://blog.livedoor.jp/spyder_5615/archives/36127430.html
http://qiita.com/BUN/items/d1e48d07d34de475bc77

MAMP 起動するPHPのバージョンを変更

MAMP3.0をインストールした。

デフォルトで切り替えられるPHPバージョンは、
5.1.6 と 5.5.9になっていた。

今まで5.3あたりも使っていたので、5.1.Xでなくて、5.3.Xにしたい。

/Applications/MAMP/bin/php/配下にあるPHPバージョンの
一番上と一番下が表示されるみたい。

存在してたPHPバージョンは、
php5.1.6
php5.2.17
php5.3.28
php5.4.25
php5.5.9

お客さんによってPHPバージョンを切り替えながら開発したい。
どうやら使わないPHPフォルダをリネームすればよさそう。

とりあえず、5.3.Xを出したいので、前の二つのフォルダ名に「–」をつけてみた。
–php5.1.6
–php5.2.17

MAMPを立ち上げたままだったので、一旦終了して、起動。
スクリーンショット_2014_03_07_17_40

やった〜♪

一応、スタートページで確認。
MAMP
ばっちり!
これなら、ちょこちょこ変更があっても簡単♪

参考ありがとう:http://stackoverflow.com/questions/16783558/how-can-i-add-additional-php-versions-to-mamp

MAMP phpMyAdminを最新バージョンにアップグレード

MAMP3.0をインストールしたものの、phpMyAdminのバージョンが最新でないとのメッセージが出るので、
アップグレードすることに。
この時点で、最新バージョンは 4.1.9 で、2014-03-06 にリリース

1.phpMyAdminのサイトより、最新版をダウンロード
phpMyAdmin1

phpMyAdmin-4.1.9-all-languages.zip をクリックしてダウンロード

2.MAMPは停止しておく。

3./Applications/MAMP/bin/phpMyAdminフォルダを差し替えるのだけど、一応リネームしてとっておく

4.ダウンロードしたzipを解凍し、名前を「phpMyAdmin」にリネームして、
/Applications/MAMP/bin/配下におく。

5.MAMPを起動し、phpMyAdminを起動
(スタートページのMySQLの中身が表示されなくなってたけど、気にしない!)
ログイン画面になるので、ユーザー名とパスワード(前のバージョンで変更していたものが効いていた)入力してログイン

無事、最新バージョンに変更された♪

参考ありがとう:http://pc-karuma.net/mamp-phpmyadmin-update/

追記:MAMPでサーバーを起動するときに、エラーメッセージが出る

「MySQL データベースの確認に失敗しました」
(phpMyAdminに自動的にログインできないから?)
設定を確認しようと、
/Applications/MAMP/bin/phpMyAdmin/config.inc.php
を探したらなかった!

config.sample.inc.phpというファイルをコピーして、config.inc.php を作る。

cookie認証になっていたので、前と同じにconfigに変更

$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;

上記をコメントアウトして、3行追加

$cfg[‘Servers’][$i][‘auth_type’] = ‘config’;
$cfg[‘Servers’][$i][‘user’] = ‘root’;
$cfg[‘Servers’][$i][‘password’] = ‘設定したパスワード’;

MAMPを起動しなおして、確認。

スタートページのMySQLの中身は表示されて、phpMyAdminを起動すると、ログイン入力が必要なくなったけど、サーバー起動時のエラーはまだ出てくる。

スクリーンショット_2014_03_07_17_15

mysqlcheckでエラーになってるみたい。

前もみたような・・・

・/Applications/MAMP/bin/checkMysql.shを編集

/Applications/MAMP/Library/bin/mysqlcheck –all-databases –check –check-upgrade -u root -p<新パスワードに変更> –socket=/Applications/MAMP/tmp/mysql/mysql.sock

ついでに下記の3ファイルも同様に修正
・/Applications/MAMP/bin/repairMysql.sh
・/Applications/MAMP/bin/upgradeMysql.sh
・/Applications/MAMP/bin/quickCheckMysqlUpgrade.sh

MAMPを一旦終了させて、起動、サーバーを起動。
エラーが出なくなった〜。 快適♪

参考ありがとう:
http://php1st.com/435/
http://plmin.us/blog/2012/03/05/mamp%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E5%A4%89%E6%9B%B4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

MAMP3.0 MySQLパスワード、データの場所変更、バーチャルホスト設定

OSクリーンインストールしたので、設定しなおす。

MAMPのデフォルトのままでは、パスワードが「root」なので、変更。

ターミナルにて変更
$ /Applications/MAMP/Library/bin/mysqladmin -u root -p password <変更パスワード>
Enter password: ← 変更前のパスワード

phpMyAdminが開けなくなるので、
/Applications/MAMP/bin/phpMyAdmin/config.inc.php を書き換える
変更前:$cfg[‘Servers’][$i][‘password’] = ‘root’;
変更後:$cfg[‘Servers’][$i][‘password’] = ”;

そして、Dropboxでmysqlデータを共有しているので、そっちに向ける。

MAMPサーバーを停止して作業する。
1.元のフォルダをリネーム
/Applications/MAMP/db/mysqlフォルダ mysql_oldとかに変更
2.シンボリックリンク作成
$ ln -s /Users/username/Dropbox/MAMP_dropbox/mysql/data /Applications/MAMP/db/mysql

lsで確認すると、こんなのができている
mysql -> /Users/Maki/Dropbox/MAMP_dropbox/mysql/data

MAMPを起動して、phpMyadminで確認すると、無事リンク先が確認できた♪

バーチャルホスト設定

1.httpd.conf 編集
/Applications/MAMP/conf/apache/httpd.conf

# Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Includeのコメントアウト解除

2.httpd-vhosts.conf 編集
/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

NameVirtualHost *:80
の行がコメントアウトされていないか確認

下記追加

DocumentRoot “/Users/username/Dropbox/MAMP_dropbox/htdocs”
ServerName localhost

DocumentRoot “/Users/username/Dropbox/MAMP_dropbox/htdocs/hoge”
ServerName hoge.localhost

3. hosts 編集
/private/etc/hosts
127.0.0.1 hoge.localhost
を追加
(このファイルを直接編集でもいいのだけど、「Hosts」アプリを入れたのでそっちから編集)

よ〜し。動いてきたぞ!

MAMP3.0 環境設定

mavericksをクリーンインストールしたので、
MAMPを入れ直そうとしたら、バージョンがあがって、なんか雰囲気が変わってた。。

インストールはだいたい同じだった。
設定をメモっとく。

Mail_-_YUISYSTEM_ 10.04.56
とりあえず、MAMPを起動

MAMP
「設定」クリック

MAMP
設定 > スタート/ストップ
「MAMP終了時にサーバーを停止」以外のチェックをすべて外す

MAMP3
設定 > ポート
「ApacheとMySQLのポートを80と3306に設定」クリック

MAMP5
設定 >PHP
PHPバージョンがちょっと変わって2つになっていた。
5.3あたりも欲しいが、また後ほど

MAMP6
設定 > Apache
ドキュメントルートをDropboxにしているのでそっちに変更

MAMP7
「OK」クリックで完了!

cakephp DB・モデル変更 反映されない

cakephp

テーブルにカラムを追加したり、新DBを作ったりした時に、
うまく反映されない時がある。

テスト環境では動いているので、ソースがおかしいとは考えにくいときは、
モデルのキャッシュが悪さをしているときがあるみたい。

キャッシュを削除してみる。
app/tmp/cache/models配下のファイルを削除

動いた〜♪

参考ありがとう:http://oneday.ter.jp/php/cakephp-php/983.html

MAMP メモリ上限追加

MAMPローカル環境が突然動かなくなった。。

(!)Fatal error: Allowed memory size of XXXXX ~~~

メモリ不足。。orz

PHPのメモリ上限を変更する。

使っているPHPバージョンのphp.iniを編集
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini

memory_limit = 32M ; Maximum amount of memory a script may consume (8MB)

32Mだったので、128Mに変更

memory_limit = 128M ; Maximum amount of memory a script may consume (8MB)

Apacheを再起動して完成!
動いた〜

参考ありがとう:http://mawatari.jp/archives/fatal-error-allowed-memory-size-of-33554432-bytes-exhausted-tried-to-allocate-122880-bytes