Mosquitto PHP 运行 在终端上,但在浏览器错误 500 中没有 运行

Mosquitto PHP runs on Terminal but does not run in Browser Error 500

我在 php 中开发 Mosquitto 客户端时遇到问题。当我通过 Ubuntu 上的 Terminal 执行我的测试代码时,代码运行良好,如下所示:

root@ip-*********:/var/www/html/pairing/mqtt# php pub.php Mesage published Disconnected cleanly root@ip-***********:/var/www/html/pairing/mqtt#

但是当我 运行 每次在浏览器上使用相同的代码时 HTTP ERROR 500

有人知道这个问题是什么吗?我只是通过 chmod 调整了权限,但它还不起作用。

代码如下:

<?php

$client = new Mosquitto\Client(); $client->onConnect('connect'); $client->onDisconnect('disconnect'); $client->onPublish('publish'); $client->connect("test.mosquitto.org", 1883, 5);

while (true) {
        try{
                $client->loop();
                $mid = $client->publish('/mqtt', "Hello from PHP");
                $client->loop();
        }catch(Mosquitto\Exception $e){
                return;
        }
        sleep(2); }

$client->disconnect(); unset($client);

function connect($r) {
        echo "I got code {$r}\n"; }

function publish() {
        global $client;
        echo "Mesage published\n";
        $client->disconnect(); }

function disconnect() {
        echo "Disconnected cleanly\n"; }

?>

非常感谢!

我假设您正在使用 Apache 作为 Web 服务器,如果是这样,请使用其他方法检查是否启用了 mosquitto 模块,并在 /etc/php5/apache2/php.ini

中正确设置启用它