0

Linux サーバーではなく Windows マシンで発生している composer エラーをデバッグしようとしています。ここに私が実行しようとしているコードがあります

$url = "https://packages.zendframework.com/packages.json";
var_dump(file_get_contents($url));

これを実行すると、次のような結果が得られます: http://grab.by/pSFI

おわかりのように、最初の奇妙な utf8 文字は存在しないはずです。非セキュア プロトコルでは発生しません (ただし、この 301 の URL はとにかくセキュアであるため、実証することはできません)。

何か案は?それはopenssl dllの問題ですか?

4

2 に答える 2

1

これは、wamp の代わりに xamp を使用することで解決された Windows セットアップの問題でした。wamp インスタンスで使用される php ビルドにバグがあり、ssl の宛先で file_get_contents が台無しになります。xampに切り替えた後、正常に動作しています。

于 2013-09-05T00:04:24.240 に答える
0

これらの手順は、私がそのキャラクターを見たときに思いつく唯一の理由であるため、通常はうまくいきます.

  1. ファイルを開きます。
  2. UNIX の行末があることを確認してください。
  3. 保存時に空白をトリムします。
  4. 最初の文字の前に何もないことを確認してください。(何も表示されない場合は、最初の文字の前に楽しみのためにバックスペースを押してください。制御文字が何らかの形でコピーされて貼り付けられて表示されない場合があります)
  5. サーバーが UTF-8 でエンコードされたヘッダーを返していることを確認してください

また、異なる環境で開発しないでください...それらはすべて一致する必要があります。異なるシステム間で異なる癖がたくさんある可能性があります。memcacheすべての環境を同期する前に、1 つの環境で問題が発生しましたが、他の環境では問題が発生しませんでした。さらに悪いことに、本番環境でポップアップするバグが開発環境に表示されない可能性があります...そして、それをデバッグすることができなくなります.

于 2013-09-02T00:48:27.183 に答える