1

次のアドレスにphpスクリプトがありますC:\Denwer\home\localhost\www\upload_record_test.php。このスクリプトは、いくつかのテキストを表示します。しかし、このスクリプトをコマンド行からコマンドphp C:\Denwer\home\localhost\www\upload_record_testで実行しようとすると、多くのエラーとメッセージを含む html 応答が返されますCall to undefined function curl_init()。コード:

<?php
    $_POST_DATA=array();
    $_POST_DATA['id']='AccountPagesView.a_book/45';
    $_POST_DATA['old_value']='1';
    $_POST_DATA['value']='2';
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://localhost/index.php/welcome/update_record');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST_DATA);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    $real_result=curl_exec($ch);
    $expected_result=array('result'=>'LOGIN', 'old_value'=>'1');
    $real_result=json_decode($real_result, true);
    if (count(array_intersect($real_result, $expected_result))==2)
    {
        echo "THE TEST HAS BEEN COMPLETED";
    }
    else 
    {
        echo "THE TEST HASN'T BEEN COMPLETED<br/>";
        echo "RESULT:";
        print_r($real_result);
        echo "<br/>EXPECTED RESULT:";
        print_r($expected_result);
    }
?>

コマンドラインからこのスクリプトを実行して、結果のテキストのみを取得するにはどうすればよいですか?教えてください。前もって感謝します。

4

1 に答える 1

0

curl が正しくインストールされているかどうかを確認します。いいえの場合は、php.net からのこの指示を確認してください。

はいの場合、curl モジュールが有効になっていない可能性があります。curl メソッドを使用するには、curl モジュールを有効にする必要があります。これを行うには、モジュールを編集php.iniして有効にします。

Windows の場合:

  • php.iniファイルを開く
  • 次の行を見つけます;extension=php_curl.dll
  • infront を削除し;てファイルを保存します
  • Apacheサーバーを再起動します

それはうまくいくはずです。

アップデート:

時々safe_mode、この問題を引き起こしている可能性があります。iniファイルに移動して無効にしますsafe_mode

[php.ini]
safe_mode = Off
于 2012-07-02T06:18:49.943 に答える