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
中正确设置启用它
我在 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
中正确设置启用它