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和启用模块来做到这一点。

在窗户上:

  • 打开你的php.ini文件
  • 找到一条线;extension=php_curl.dll
  • 删除;infront并保存文件
  • 重启apache服务器

它应该工作。

更新:

有时safe_mode可能会导致此问题。转到ini文件并禁用safe_mode

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