【问题标题】:each time I run curl on php, the server will die. I have to restart the apache每次我在 php 上运行 curl 时,服务器都会死掉。我必须重新启动apache
【发布时间】:2012-09-19 17:25:27
【问题描述】:

每次我在 php 上运行 curl,服务器都会死掉。我必须重新启动 apache。

代码如下:我正在尝试连接到我的通知服务器并推送通知。

我确实可以收到通知,但是带有php-curl的页面永远不会打开,之后我的服务器就会死掉(任何页面都无法打开,需要重新启动apache)

$url = 'http://myip:myport/send';
$fields = array(
    'channel'=>urlencode("mychannel"),
    'secretkey'=>urlencode("mypassword"),
    'property1'=>urlencode("from PHP"),
    'property2'=>urlencode("Hello jimmy!")
    );

$fields_string = "";
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);

$result = curl_exec($ch);

//close connection
curl_close($ch);

补充:是亚马逊的EC2服务器。 另外,我发现如果我在终端中运行 curl,它不会返回任何内容,但可以正常工作。

【问题讨论】:

  • 你的 apache 错误日志是什么状态?
  • 为什么用node.js标记?
  • 因为我使用 node.js 服务器来处理这个 curl。
  • 另外,我发现如果我在终端中运行 curl,它不会返回任何内容,但可以正常工作。

标签: php apache node.js curl notifications


【解决方案1】:

我假设它是一台 Windows 机器。您使用的是 XAMPP 还是 WAMP? 谷歌“php cURL 与 windows 崩溃”或您的特定软件包,尝试更新您的 cURL 扩展。该代码与您的服务器崩溃无关!

【讨论】:

  • 这很可能是服务器配置错误,您的脚本没有理由像那样使服务器崩溃而没有返回错误。尝试从您的 php.ini 中卸载 cURL 扩展,然后执行相同的页面。然后检查您的网络服务器中的日志。
  • 看起来我的 node.js 的 server.js 没有返回任何东西。所以 curl 一直在运行。
猜你喜欢
  • 1970-01-01
  • 2020-09-08
  • 1970-01-01
  • 2023-03-30
  • 2022-01-21
  • 2011-06-20
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多