Я не могу запустить команды mosquitto_sub или pub через систему PHP (), exec (), shell_exec () и т. Д.
Другие команды (например, hostname и ls) будут отображаться и работать нормально. Я что-то упускаю?
Вот что у меня есть:
<?php
$message = '{"state":{"desired":{"LED":"ON"}}}';
$cmd = "mosquitto_pub --cafile /var/www/subsystem/crt/rootCA.pem --cert
/var/www/subsystem/crt/crt.pem --key /var/www/subsystem/crt/private.pem -h
myendpoint.amazonaws.com -p 8883 -t '" . "$" .
"aws/things/LED/shadow/update' -m '" . $message . "'";
echo system($cmd);
?>
(я знаю, что строка не будет правильно разбираться с отступом, и в моем PHP-файле переменная $ cmd представляет собой одну строку.)
PS: Я также попытался повторить $ cmd и скопировать / вставить это прямо в оболочку, и это работает без изменений.
Спасибо!