PHP5.3.0でsymfony1.0系でpropelコマンド実行時にエラーがでる
php5.3にしてからsymfony1.0系でsymfonyコマンドの一部でエラーがでるようになった。
$ ./symfony propel-build-model .... [phingcall] Unable to return 'affix' for unknown CreoleType: BUILD FINISHED
propelコマンドを使ってもmodelの生成ができない。
調べてみたところ、以下の方法で解決。
symfony framework forum: symfony 1.0 => Snow Leopard ? longvarchar
symfony以下lib/vendor/creole/CreoleTypes.phpの39行目を以下のように修正。
PHP
//const TEXT = 17;
const TEXT = 30;
で、調べてみたところPHP5.3.0だとこういうことらしい。
PHP
<?php
Class Hoge
{
const A = 1;
const B = 1;
public static $piyo = array(
1 => 1,
1 => 2,
);
public static $fuga = array(
self::A => 1,
self::B => 2,
);
}
var_dump(Hoge::$piyo, Hoge::$fuga);
実行結果。
array(1) {
[1]=>
int(2)
}
array(1) {
[1]=>
int(1)
}
PHP5.3.0のバグ?
PHP5.3.1RC4でも変わらず。
カテゴリー: 日記