我有一个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);
}
?>
请告诉我,如何从命令行执行此脚本并仅获取结果文本?提前致谢。
答案 0 :(得分:0)
检查卷曲是否正确安装。如果没有从php.net检查this指令。
如果是,则可能未启用您的卷曲模块。您必须启用curl模块才能使用curl方法。您可以通过编辑php.ini
并启用模块来完成此操作。
在Windows上:
php.ini
文件;extension=php_curl.dll
;
前方并保存文件它应该有用。
有时safe_mode
可能会导致此问题。转到ini文件并禁用safe_mode
[php.ini]
safe_mode = Off