0

MosquittoPHPでクライアントを開発する際に問題に直面しています。Terminalコード上でテスト コードを実行すると、Ubuntu次のように非常にうまく機能します。

root@ip-*********:/var/www/html/pairing/mqtt# php pub.php メッセージ公開 きれいに切断 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"; }

?>

どうもありがとう!

4

1 に答える 1

1

Web サーバーとして Apache を使用していると仮定しています。そうであれば、/etc/php5/apache2/php.ini で有効に設定するか、mosquitto モジュールが有効になっているかどうかを確認してください

于 2016-08-29T11:38:47.960 に答える