Предоставление разрешения PHP для доступа к COM-порту - PullRequest
5 голосов
/ 10 февраля 2012

Я создаю скрипт php, который подключается к модему 3G, подключенному через последовательное соединение на COM5.

Я получаю следующую ошибку, и я полагаю, что это связано с тем, что php не имеет доступа к COM5:

Предупреждение: fopen (COM5 :) [function.fopen]: не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ SMStest \ test2.php в строке 9

// mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off
$fp = fopen ("COM5:", "w+");
if (!$fp) {
    echo "Uh-oh. Port not opened.";
} else {
    $e = chr(27);
    $string  = $e . "A" . $e . "H300";
    $string .= $e . "V100" . $e . "XL1SATO";
    $string .= $e . "Q1" . $e . "Z";
    echo $string;
    fputs ($fp, $string );
    fclose ($fp);
}

1 Ответ

1 голос
/ 02 марта 2012

Есть много способов получить доступ к COM-портам в Windows, альтернативой вашему методу является открытие его следующими путями:

\Device\00000123 (правильное значение можно найти в диспетчере устройств, свойствах, деталях, имени объекта физического устройства)

\\.\com5 (Так я бы открыл порт в виде файла, если бы писал программу на C или что-то в этом роде)

...