PHP curl响应未序列化问题
取消序列化curl响应时,我收到“注意:取消序列化():1081字节偏移量0处的错误” Curl请求页面-ping1.php: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
<?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)) ;
?>