use*_*843 5 php apache ispconfig
我目前正在尝试使用名为Mosquitto PHP(https://github.com/mgdm/Mosquitto-PHP/)的PHP插件。我已经正确安装了所有程序,并且在“ php -m”下似乎可以正确显示。
我正在使用一个小的测试代码来查看它是否以其基本形式起作用:
<?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";
?>
Run Code Online (Sandbox Code Playgroud)
而且似乎在我的浏览器中返回“完成”。因此,我决定升级游戏,并向其添加TLS连接(如所记录):
<?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";
?>
Run Code Online (Sandbox Code Playgroud)
我获得了证书,并确保apache2可以读取它,并随后将所有权设置为apache2。原来,这给了我浏览器500内部服务器错误。
-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
Run Code Online (Sandbox Code Playgroud)
出于好奇,我导航到shell中的脚本并使用以下命令运行它:
sudo php test.php
Run Code Online (Sandbox Code Playgroud)
这导致在我的ssh中打印“完成”,并且它通过代理发送了消息。
这使我认为这是一种奇怪的权限错误。经过进一步调查,我在日志中找到了这些:
我的apache2日志:
mod_fcgid:处理/var/www/php-fcgi-scripts/web1/.php-fcgi-starter(20614)退出(通讯错误),得到意外信号11
安装的mog_fcgid是:
适用于Apache 2的libapache2-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年6月7日星期二14:08:25.567945] [fcgid:warn] [pid 27861](104)对等方重置连接:[客户端93.135.88.60:49328] mod_fcgid:从FastCGI服务器读取数据时出错
[2月7日14日: 2016年8月25日:568.56816] [核心:错误] [pid 27861] [客户端93.135.88.60:49328]标头之前的脚本输出结束:test.fcgi
我完全不知道在这里说什么了。我需要帮助!
尝试增加 php-fcgi 的内存(默认情况下 cli memory_limit=-1)。
我想这个案例应该能解决你的问题。
更新
我已经安装了 mosquitto(来自php7分支)并尝试它(从存储库示例运行 test.php。php 7.0.7)。我有段错误
segfault at 8 ip 00005574a41c753f sp 00007ffc2dc85da0 error 6 in php7.0[5574a3f80000+391000]
Run Code Online (Sandbox Code Playgroud)
看来这是扩展错误。您可以尝试调试此段错误(https://bugs.php.net/bugs-generate-backtrace.php)并将报告发送给扩展开发人员。
| 归档时间: |
|
| 查看次数: |
615 次 |
| 最近记录: |