1

全てにおいて良い日。私は zend+smarty を使用していますが、フレームワークが問題に関係しているとは思いません。次のシナリオがあります。

     A script that gets a string from a specified site using an api. The string is retrieved corectly so I'll just assign a string to a variable:

     $string = 'String retrieved from api.';
     $string = strstr($string, "<?xml", false);

     libxml_use_internal_errors(true);
     $xml = simplexml_load_string($body);

大丈夫そうに見えます。今問題。

これをローカルのテスト マシンで使用すると、夢のように動作します。全く問題無い。一方、本番マシンでは次のようになります。

警告: /home/prj/include/DatabaseObject/Ctrl.php の 720 行目 (これは strstr 行です) の strstr() のパラメーター数が正しくありません。

2台のマシンでstrstrの前に文字列をチェックしましたが、それらは同一です。また、strstr 行の後の 2 番目のサーバーでは、文字列が空になります (別のサーバーでは正しく変換されます)。

よくわかりません...コードは同じです。文字列は同じです。私には少し奇妙です。

4

1 に答える 1

5

「針の前」の3番目のパラメーター(ブール値)がphp5.3で追加されました。本番サーバーが以前のバージョンを実行している可能性があります。

PHP.netを参照してください

strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

  • 5.3.0オプションのパラメータbefore_needleを追加しました。
于 2011-04-29T15:52:44.330 に答える