symfony propel:build-modelができない

8月 14th, 2008 | このエントリをはてなブックマークに追加 このエントリをdel.icio.usに追加 このエントリをLivedoor Clipに追加 このエントリをYahoo!ブックマークに追加 このエントリをFC2ブックマークに追加 このエントリをNifty Clipに追加 このエントリをPOOKMARK. Airlinesに追加 このエントリをBuzzurl(バザール)に追加 このエントリをChoixに追加 このエントリをnewsingに追加 

symfony propel:build-model

をしたら以下のエラーがでました。

PHP Fatal error: Declaration of SequentialTask::addTask() must be compatible with that of TaskContainer::addTask() in /usr/share/pear/symfony/plugins/sfPropelPlugin/lib/vendor/phing/tasks/system/SequentialTask.php on line 35

 
うんうん悩んだ挙句、
結局先輩に質問することに(涙)

どうやらphingがsymfonyにすでに入っていて、
pearからインストールしてしまったものと衝突していることが原因とのこと。

 
そのためrootで

pear uninstall phing

でpearからアンインストール。

できました。。。。。

 
ちなみに以下のページも参考にしました。

http://groups.google.com/group/symfony-users/browse_thread/thread/a1412671b54612cc/9be43b4491b9023d?show_docid=9be43b4491b9023d

tagged:

Trackback URL for this post:

Got a packet bigger than ‘max_allowed_packet’ bytes

7月 28th, 2008 | このエントリをはてなブックマークに追加 このエントリをdel.icio.usに追加 このエントリをLivedoor Clipに追加 このエントリをYahoo!ブックマークに追加 このエントリをFC2ブックマークに追加 このエントリをNifty Clipに追加 このエントリをPOOKMARK. Airlinesに追加 このエントリをBuzzurl(バザール)に追加 このエントリをChoixに追加 このエントリをnewsingに追加 

INSERT文を書いたテキスト文章を
テーブルに流し込むために以下のコマンドを打ちました。

mysql -u[ユーザー名] -p[パスワード] [DB名] < master_client.sql

すると以下のエラーが出ました。

Got a packet bigger than ‘max_allowed_packet’ bytes

 
どうやらMySQLの最大利用バイト数が小さかったようです。

そこで、/etc/my.cnf を以下のように編集。

[mysqld]
・・・
max_allowed_packet=128M

 
参考にさせていただいたのは
以下のサイトです。

mysql : Got a packet bigger than 'max_allowed_packet' bytes
http://linux.ohwada.jp/modules/smartsection/item.php?itemid=402
(はっぴぃ・りなっくす)

tagged:

Trackback URL for this post:

SVNがUPDATE出来ない時

4月 7th, 2008 | このエントリをはてなブックマークに追加 このエントリをdel.icio.usに追加 このエントリをLivedoor Clipに追加 このエントリをYahoo!ブックマークに追加 このエントリをFC2ブックマークに追加 このエントリをNifty Clipに追加 このエントリをPOOKMARK. Airlinesに追加 このエントリをBuzzurl(バザール)に追加 このエントリをChoixに追加 このエントリをnewsingに追加 

以下のコマンドで直りました。

svnadmin recover REPOS_PATH

 
svnadmin recover
svnadmin recover
 
tagged:

Trackback URL for this post:

Call-time pass-by-reference has been deprecated

3月 31st, 2008 | このエントリをはてなブックマークに追加 このエントリをdel.icio.usに追加 このエントリをLivedoor Clipに追加 このエントリをYahoo!ブックマークに追加 このエントリをFC2ブックマークに追加 このエントリをNifty Clipに追加 このエントリをPOOKMARK. Airlinesに追加 このエントリをBuzzurl(バザール)に追加 このエントリをChoixに追加 このエントリをnewsingに追加 

仕事で以下のようなエラーが沢山はき出されていました。

Call-time pass-by-reference has been deprecated

これを対応するためには、
htaccessに以下の一文を入れれば良いようです。

php_flag allow_call_time_pass_reference on

 
ちなみに、allow_call_time_pass_referenceは

関数のコール時に引数を強制的に参照で渡す機能の有効/無効を設定 します。この機能は過去のものであり、将来のバージョンの PHP/Zendではサポートされない可能性があります。 推奨される方法は、関数宣言時に参照渡しとするべき引数を指定す る方法です。将来のバージョンでの動作を保障するために、このオ プションをoffとし、スクリプトがこの状態で正しく動作することを 確認することが推奨されます。 (この機能を使用する度に警告が発生し、引数は参照ではなく値で渡 されます。)

関数コール時に参照で引数を渡すことは、コードの明解さを損なうために 廃止されています。関数は、引数が参照渡しであると宣言されて いない場合でも、文書化されていない方法で、その引数を修正できます。 副作用を回避するためには、どの引数を参照渡しとするかを関数宣言でのみ 指定すると良いでしょう。

だそうです。
 
tagged:

Trackback URL for this post:

mysql_escape_stringの罠

3月 27th, 2008 | このエントリをはてなブックマークに追加 このエントリをdel.icio.usに追加 このエントリをLivedoor Clipに追加 このエントリをYahoo!ブックマークに追加 このエントリをFC2ブックマークに追加 このエントリをNifty Clipに追加 このエントリをPOOKMARK. Airlinesに追加 このエントリをBuzzurl(バザール)に追加 このエントリをChoixに追加 このエントリをnewsingに追加 

仕事でずいぶん前に作られたPHPをいじっていました。

DBの型も、PHPの入力チェックも通っているのに
なぜかSQLエラーが出ていたので調べてみました。

 
諸悪の根源はPHPファイルがSJISだったことであるようです。

エラーを出している部分は以下の部分でした。

$hoge = mysql_escape_string($hoge);

こうするとPHPファイル自体がSJISの場合、
$hogeに¥(円マーク)が入ってしまうケースがあり、
SQLエラーが起こっていました。

 
そこで以下に変更しました。

mysql_set_charset(’sjis’);
$hoge = mysql_real_escape_string($hoge);

mysql_real_escape_stringは
mysql_set_charsetの文字コードを見て$hogeを変換してくれるそうです。

 
ちゃんとした作りにしようと強く実感しました(苦笑)
 

tagged:

Trackback URL for this post: