Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP curl响应未序列化问题_Php_Serialization_Curl - Fatal编程技术网

PHP curl响应未序列化问题

PHP curl响应未序列化问题,php,serialization,curl,Php,Serialization,Curl,取消序列化curl响应时,我收到“注意:取消序列化():1081字节偏移量0处的错误” Curl请求页面-ping1.php: <?php $ch = curl_init(); $curlConfig = array( CURLOPT_URL => "http://example.com/test/curl/ping2.php", CURLOPT_POST => true, CURLOPT_RETURNTRANS

取消序列化curl响应时,我收到“注意:取消序列化():1081字节偏移量0处的错误”

Curl请求页面-ping1.php:

<?php
$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL            => "http://example.com/test/curl/ping2.php",
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);
echo unserialize($result);
?>

Curl响应页面-ping2.php

<?php
$data=array('test'=>1,'testing'=>2);
echo serialize($data);
?>

收到您的问题

错误

当我运行你的代码并看到结果时

string '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/experimentation/Stack/stack.php<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.2.22 (Fedora) Server at localhost Port 80</address>
</body></html>
a:2:{s:4:"test";i:1;s:7:"testing";i:2;}' (length=474)

$result变量包含错误消息,因此无法取消序列化


另外,请注意ping2.php中的结束标记,因为它可能包含额外的不需要的空格

那么,
$result
包含哪些内容?那么,您可以显示它包含哪些内容吗?因为这就是问题所在。这就是错误消息的内容。将
var\u dump($result)
放入ping1.php并显示输出。var\u dump($result):@loganphp查看我的答案
<?php

$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL            => "http://example.com/test/curl/ping2.php",
    CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);
print_r(unserialize($result)) ;

?>