【发布时间】:2023-03-12 21:30:01
【问题描述】:
我有以下一个非常简单的 PHP 脚本,它使用 cURL 加载网页并显示
<?php
$ch = curl_init("http://www.reddit.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$content = "Hello, World!";
$content = curl_exec($ch);
curl_close($ch);
echo $content;
?>
在我的本地机器上,它运行良好——但在我的服务器机器上却不行。在这里,我在 Firefox 中收到“连接已重置”错误。引起麻烦的行似乎是$content = curl_exec($ch);。如果我评论这一行,我会在两台机器上看到Hello, World!。
在两台机器上调用phpinfo() 时,cURL 部分看起来非常相似。这里有什么问题,它可以在一台机器上运行,但不能在另一台机器上运行。基本上,两者都运行 Ubuntu 14.04、Apache 2 和 PHP 5。哪些配置或权限可能不同。我有点不知所措。
编辑:正如 arkascha 建议的那样,我检查了 Apache error.log 文件。事实上,如果我在执行curl_exec 命令后立即看到以下错误:
[core:notice] [pid 28267] AH00051: child pid 28274 exit signal Segmentation fault (11), possible coredump in /etc/apache2
【问题讨论】:
-
@ManojKushwaha 你介意更精确一点吗?你能指出你在那个页面中引用的内容吗?那么为什么该页面与此处相关?
-
我建议你看看http服务器错误日志文件...
-
您确定要像这样使用两次
$content吗?这是没有意义的。执行后检查curl_error。它可能包含您要查找的错误。 -
@Jigar 你们甚至懒得阅读这个问题吗? OP解释说!