引越しました!

http://blog.mogmet.com/blog-entry-21.html

へアクセスしてください。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHP5.3.0でAMFPHPを実行できない

PHP5.3.0がいつの間にか出ていた。

PHP5.3.0の環境でAMFPHPをやってみたんだが、

http://localhost/amfphp/browser/
にアクセスすると・・・

Error retrieving service info:

Function eregi_replace() is deprecated
C:\xampp\htdocs\visualQandA\amfphp\core\shared\util\MethodTable.php on line 505



とかエラーでてた。

ので、その解決策の備忘録。




参考にしたサイト。
http://matthiasvanneste.wordpress.com/2009/09/18/php-5-3-0-and-amfphp/


これによると、2ヶ所やらないといけない事があるらしい。

1. php.iniを編集してdeprected warningsをdisableにする


2. amfphpのcoreファイルをいじる



結論からいうと2.だけでやればおk


だけど、一応1.の方法も解説しておく。



1.の方法
php.iniをエディタでひらきます。

514行目らへんに "error_reporting = ~~"てのがあります。
これを

error_reporting = E_ALL & ~E_NOTICE


にかえて保存。

んでapache再起動。




2.の方法
amfphp/core/shared/util/MethodTable.php
をエディタで開く。

505行目に、

$comment = eregi_replace("\n[ \t]+", "\n", trim($comment));
$comment = str_replace("\n", "\\n", trim($comment));
$comment = eregi_replace("[\t ]+", " ", trim($comment));



てのがある。

これを、

$comment = preg_replace("`\n[ \t]+`U", "\n", trim($comment));
$comment = str_replace("\n", "\\n", trim($comment));
$comment = preg_replace("`[\t ]+`U", " ",trim($comment));


これに書き換えて保存。

これだけで、動き始めます。









PHP5.3.0以降、eregi_replace()関数は非推奨になって、この関数をコールするとE_DEPRECATEDが発生するようになったらしい。

PHP6.0.0では完全に消えるようだ。

それで、1,の方法ではとりあえずE_DEPRECATEDを無視するように設定して一時しのぎしてるようだ。
参考
PHP 5.3だとCakePHPで大量のエラー


まぁとりあえず動いてよかったよかったー!
PHP 逆引きレシピ (PROGRAMMER’S RECiPE)

コメントの投稿

非公開コメント

スポンサーリンク
FC2カウンター
最新記事
最新コメント
カテゴリ
アマゾンドリンク
検索フォーム
リンク
ブロとも申請フォーム

この人とブロともになる

アクセスランキング
[ジャンルランキング]
コンピュータ
2132位
アクセスランキングを見る>>

[サブジャンルランキング]
未設定
--位
アクセスランキングを見る>>
バックリンク
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。