とTLSエラー接続IはPHP
MQTTクライアントと私のブローカーとの間の接続をやろうとしているが、私はこのエラーを取得しています:Mosquitto - PHP - ブローカー
Fatal error: Uncaught exception 'Mosquitto\Exception' with message 'A TLS error occurred.' in /path/testemqtt.php:27 Stack trace: #0 /path/testemqtt.php(27): Mosquitto\Client->connect('localhost', 9419) #1 {main} thrown in /path/testemqtt.php on line 27
私はすでにやりました同じJava
、Android
とJavascript (w/ node.js)
のような他の言語での接続が、PHP
に私はいくつかの困難に直面しています...ここでは動作しないコードは次のとおりです。ここで
ini_set('display_errors',1);error_reporting(E_ALL);
/* Construct a new client instance, passing a client ID of “MyClient” */
$client = new Mosquitto\Client('PHPClient',true);
/* Set the callback fired when the connection is complete */
$client->onConnect(function($code, $message) use ($client) {
/* Subscribe to the broker's $SYS namespace, which shows debugging info */
echo $code .' - '.$message;
$client->subscribe('pedro/php', 1);
});
/* Set the callback fired when we receive a message */
$client->onMessage(function($message) {
/* Display the message's topic and payload */
echo $message->topic, "\n", $message->payload, "\n\n";
});
/* Connect, supplying the host and port. */
$client->setCredentials('username', 'password');
$client->setTlsCertificates('ca.crt', 'ca_client.crt', 'client.key', null); //As my TLS/SSL certificate is one way I dont need to use passphrase to connect to the broker
$client->setTlsOptions(Mosquitto\Client::SSL_VERIFY_PEER,"tlsv1",null);
$client->connect('localhost', 8883);
/* Enter the event loop */
$client->loopForever();
がで、実装の一例です(それは魔法のように動作します):
var KEY = fs.readFileSync('client.key');
var CERT = fs.readFileSync('client.crt');
var CAfile = fs.readFileSync('ca.crt');
var MQTToptions = {
host: 'localhost',
clientId: 'pedroNodeJS',
username: 'username',
password: 'password',
port: 8883,
ca: CAfile,
keyPath: KEY,
certPath: CERT,
secureProtocol: 'TLSv1_method',
protocol: 'mqtts',
protocolId: 'MQIsdp',
protocolVersion: 3,
rejectUnauthorized: false,
connectTimeout: 2000,
keepalive:0,
reschedulePings: false
};
var client = mqtt.connect(MQTToptions);
明らかPHP
コードが正しいので、私は、問題が何であるかを知りません。
私は私の実装では、この参照を使用しました:すべての助けを
MQTT Client Library Encyclopedia – Mosquitto-PHP
感謝を!