首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP在浏览器中返回错误500,但在shell中不返回错误500。

问PHP在浏览器中返回错误500,但在shell中不返回错误500。
EN

Stack Overflow用户
提问于 2016-06-04 20:41:49
回答 1查看 952关注 0票数 5

我目前正在试验一个名为Mosquitto (https://github.com/mgdm/Mosquitto-PHP/)的PHP插件。我把它都安装好了,在'php -m‘下面,它似乎显示得很好。

我使用一个小的测试代码来查看它的基本形式是否有效:

代码语言:javascript
复制
<?php

$c = new Mosquitto\Client;
$c->onConnect(function() use ($c) {
    $c->publish('mgdm/test', 'Hello', 2);
});

$c->connect('test.mosquitto.org');

for ($i = 0; $i < 100; $i++) {
    // Loop around to permit the library to do its work
    $c->loop(1);
}

echo "Finished\n";
?>

在我的浏览器里似乎又回到了“完成”的状态。因此,我决定升级我的游戏,并添加一个TLS连接,如文档所示:

代码语言:javascript
复制
<?php

$c = new Mosquitto\Client;
$c->onConnect(function() use ($c) {
    $c->publish('mgdm/test', 'Hello', 2);
});

$c->setTlsCertificates('mosquitto.org.crt');
$c->connect('test.mosquitto.org', '8883');

for ($i = 0; $i < 100; $i++) {
    $c->loop(1);
}

echo "Finished\n";
?>

我获得了证书,并确保apache2能够读取它并随后将所有权设置为apache2。结果显示,我的浏览器中出现了500个内部服务器错误。

代码语言:javascript
复制
-rwsrwsrwt  1 www-data     www-data        279 Jun  5 04:12 test.php
-rwxrwxrwx  1 www-data www-data   1078 Jun 30  2012 mosquitto.org.crt

出于好奇,我在shell中导航到脚本,并使用以下方式运行它:

代码语言:javascript
复制
sudo php test.php

这在我的ssh中产生了一个打印的"Finished“,它通过代理发送消息。

这让我觉得这是一种奇怪的权限错误。进一步调查,我在日志中发现了这些:

我的apache2日志:

进程/var/www/php-fcgi-scripts/web1/.php-fcgi-starter(20614)退出(通信错误),收到意外信号11

安装的mog_fcgid是:

Libasache2-mod-fcgid 1:2.3.9-1+b1 amd64 FastCGI接口模块

而且,据我所知,suexec也是启用的。

模块fcgid已启用 模块suexec已启用

在一小部分事件中,我将.php更改为.fcgi并给予它+x权限,现在消息通过代理,但它仍然在我的浏览器中产生了500个错误。

suexec日志显示:

2016-06-07 14:05:58: uid:(5004/web1) gid:(5005/client0) cmd: test.fcgi

在我的ispconfig日志中,它显示:

2016年pid 27861连接重置: client 93.135.88.60:49328 mod_fcgid:从FastCGI服务器读取数据时出错 Tue Jun 07 14:08:25.568016 2016 pid 27861头前脚本输出结束: test.fcgi

我完全迷失在这里..。我需要帮助!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 06:08:45

尝试增加php-fcgi的内存(默认情况下cli memory_limit=-1)。

我觉得这个案子应该能解决你的问题。

更新

我已经安装了蚊帐(来自php7分支)并尝试过它(从存储库示例中运行test.php )。( php 7.0.7)我有段话要说

代码语言:javascript
复制
segfault at 8 ip 00005574a41c753f sp 00007ffc2dc85da0 error 6 in php7.0[5574a3f80000+391000]

看来这是扩展错误。您可以尝试调试此分段错误(https://bugs.php.net/bugs-generating-backtrace.php)并向扩展开发人员发送报告。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37634820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档