2012-03-12 11 views
1

私は両方のWindowsで完全に動作するアプリケーションを持っています& PHP5 Reflection APIを使用するMac。PHPリフレクションAPIで一貫性のない結果

アプリケーションをLinuxマシン(PHP 5.3.6生産サーバーを実行するCentOSボックス)にデプロイしようとしましたが、ReflectionMethod::getDocComment()関数が何も返さないことがわかりました。私はしばらくの間調査し、行末が潜在的な犯人であることを発見しました。

サーバ上でdos2unixユーティリティを使用して、行末をすべてUnix形式に変更しました。このスクリプトは機能します。今ここには奇妙な部分があります:のみです。これは、ReflectionMethod::getDocComment()のデータを返すスクリプトが一度動作した後で、(ディスクやコード上のファイルを変更することなく)元の状態に戻ってしまうことを意味します。

何か助けや助言をいただければ幸いです。

php_flag eaccelerator.enable 0 
php_flag eaccelerator.optimizer 0 

が、私は同じ問題を持っていたし、それは私が「didnのため(3時間)を考え出すに私にいくつかの時間がかかった:

+0

スクリプトを投稿できますか? –

+0

このスクリプトには、奇妙で興味深いことはありません。 'ReflectionMethod :: getDocComment()'が考慮していないかもしれない行末の問題です。いずれの場合においても は、ここではスクリプトです: https://github.com/dannykopping/PHPDocBlock-lite/blob/master/lib/DocBlockParser.php#L167 これは、ドキュメントを解析するオープンソースプロジェクトの一部ですブロックのコメント:) – infomaniac

+0

それは価値があるため、友人はサーバーのキャッシング要素を調べることを勧めました。 eAcceleratorが有効になっていることが判明しました。私はそれを無効にし、サーバーを再起動して、今はすべて動作します!この問題はキャッシュに関連していますか?この場合、eAcceleratorを無効にする以外に、この問題を解決する最善の方法は何ですか? – infomaniac

答えて

1

代わりに、グローバルそれを回すのあなたはとてもようなあなたの.htaccessにphp_flagを使用することができますプロダクションサーバーを所有していない。

関連する問題