Symfony meetup #16
CodeIgniterをバージョンアップしたところ、思わぬ形でPHPのバグを踏んでしまいました。 MySQLのバッファモード トラブルに見舞われるまで知らなかったのですが、PHPからMySQLを使う場合には、「バッファモード」と「非バッファモード」があります(リファレンス)。 バッファモード…SQLを発行すると、自動的にPHP側へ全データを取ってくる。デフォルト設定。 非バッファモード…SQLを発行した段階ではまだデータを取ってこない。 一見すると、非バッファモードのほうが便利そうに見えるのですが、1つ大きな問題があります。非バッファモードの場合、一度投げたクエリを始末し切るまで次のクエリが投げられないのです。もちろん、それを意識した上でPDOなりMySQLiなりを直接叩くのであればまだ使いでもあるのですが、(非バッファモードに対応しない)フレームワーク経由でDB接続するとなると、どこでク
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
FuelPHP で Crypt::decode が false を返して復号できなかった。 結論から言うと、 暗号化した文字列をDBに格納した際に カラム型の varchar 文字数が足りなくて途中で切れているのが原因でした。 暗号化した文字列を格納するカラムは varchar(100) で定義していたけど、 暗号化した際の文字列が200文字・・・。 なんて初歩的な・・・・。 varchar を十分な長さに設定すると問題なく動作しました。 これのおかげで解決できました。 ↓ http://fuelphp.com/forums/discussion/1555/crypt-decoding-doesn039t-work
色々なことをやりすぎてどれが根本原因だったのかわからなかったです\(^o^)/ が、試した過程を残して大体このあたり感を出します\(^o^)/ fuelphpは全く悪くないです\(^o^)/ 現象:DBから取得した内容が文字化けする。 環境: fuelphp 1.7 centos 6.5 php 5.3.3 myql 5.5系 調査1:DBの文字コード設定 mysqlに接続して中の値を見ると、ちゃんと表示されていました。 よくありがちなこの時点で?になるパターンではなかったのですが、 方々を見て一部追加。 [mysqld] character-set-server = utf8 はしていた。 ※この時点でのshow variablesの結果は覚えていないです。スイマセン・・・。 追加 [mysqld] skip-character-set-client-handshake [client]
FuelPHPのModel_Crudは、dbのinsert,update時に自動的に追加日時・更新日時を更新してくれるはずだが、うまく更新されない。created_at、updated_atのカラム名はあっているのだが、created_at,updated_atには0000-00-00 00:00:00が入っている。更新しても日時が入らない。 原因はちゃんとModel_Crudを継承したクラスで、_mysql_timestamp=trueにしていないこと。ちゃんとヘルプFuelPHP Model_Crud Classにも書いてある。 class Tabletest extends \Model_Crud { protected static $_table_name = 'tbltest'; protected static $_created_at = 'created_at'; //
目的:たまに間違えるアレコレを無くす 対象:FuelPHPの設定でとまどった人 前提:FuelPHPアプリを開発しており、ローカルのDBにMySQLを利用している 今日もきまぐれにFuelPHPアプリを作成していました。 DB設定のところで少しだけ躓いたので、よく書いている例を備忘録代わりに置いておこうと思います。 以下、\app\config\development\db.phpでよく書いているコード /** * The development database settings. These get merged with the global settings. */ return array( 'default' => array( 'type' => 'mysql', 'profiling' => 'true',//開発用設定なのでとりあえずtrue 'table_prefix'
■課題 fuel/app/config/development/db.php に接続先の設定をしているのに。 なぜかMysqlにつながらない。 tmp/mysql.sockを見に行くからだ。 私の環境では/var/lib/mysql/mysql.sockにソケットを置いている。 socketの向き先を変更しなければならない。 ■対応方法 socket='/var/lib/mysql/mysql.sock'を 指定すればよいかと思ってやってみたが、ダメだった。 以下のようにdsn内に設定を記述したら動いた。 vi fuel/app/config/development/db.php return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=localhost;dbname=
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く