经过数小时的调试,我终于确定由于某种原因在运行我的小脚本的特定 Web 服务器上,两个相等的字符串显然被解释为彼此不相等。
这对我来说绝对没有意义,因为我尝试使用“==”和“strcmp”进行比较。虽然此代码块在我的主机上完美运行,但运行我的脚本的人继续让它失败。
记录的结果是...
爆炸前的数据:结果=成功;
爆炸后的数据:结果=成功
不
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $GLOBALS["api_url"]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
$data = curl_exec($ch);
curl_close($ch);
$data1_log = "DATA BEFORE EXPLODE: " . $data;
log_activity($data1_log);
$data = explode(";",$data);
$data2_log = "DATA AFTER EXPLODE: " . $data[0];
log_activity($data2_log);
if (strcmp($data[0], "result=success") == 0)
{
log_activity("YES");
}
else
{
log_activity("NO");
}