20

$data = curl_exec($ch);画面に出力するのではなく、結果を処理しようとしています。それを達成するために、私はオプションCURLOPT_RETURNTRANSFERを次のtrueように設定しました:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

私のローカル サーバーではこれは期待どおりに機能しますが、同じファイルをサーバーにオンラインにすると機能しません。

設定CURLOPT_RETURNTRANSFERするfalseと動作します。

私は何を間違っていますか?

4

3 に答える 3

26

またはに設定CURLOPT_RETURNTRANSFERすると、からの戻り値は、成功した操作の実際の結果になります。つまり、成功しても戻りません。失敗すると戻りますが。true1curl_execTRUEFALSE

curl-execPHP マニュアル ページの戻り値セクションで説明されているように: http://php.net/manual/function.curl-exec.php

CURLOPT_FOLLOWLOCATIONリダイレクトのオプションを有効にする必要がありsafe_modeますが、サーバーが有効open_basedirである場合、これは問題となり、curl にも問題が発生する可能性があります。

于 2012-09-04T20:58:02.103 に答える