PHP выполняет исполняемый файл (который записывает в последовательный порт) и зависает - PullRequest
0 голосов
/ 26 октября 2008

У меня есть скрипт php, который выполняет исполняемый файл, который пишет в последовательный порт. Тем не менее, каждый раз, когда он запускается

system("c:\Untitled1.exe")
он просто открывает окно cmd и зависает.

Кто-нибудь знает, как это исправить? Или, если есть более простой способ заставить PHP писать напрямую в последовательный порт? (Я уже пробовал эти два: http://blogs.vinuthomas.com/2007/04/09/php-and-serial-ports/, и они не работают для меня)

P.S. Я на Windows XP

Ответы [ 3 ]

1 голос
/ 26 октября 2008

Что происходит при запуске «Untitled1.exe» - работает ли он вне среды php?

Я бы посоветовал продолжать использовать метод загруженного расширения - это гораздо лучший способ реализации этого.

Если оба метода не работают, возможно, проблема в другом - связанном с разрешениями или конфигурацией.

0 голосов
/ 26 октября 2008

Я считаю, что хитрость в win32 - запустить start.exe / B из php, чтобы выполнить и забыть. :) Дайте ему шанс!

Вы можете получить помощь для start.exe, запустив ее через cmd: start /?

0 голосов
/ 26 октября 2008

AFAIK system() вызов блокирует выполнение до завершения программы. Возможно, использование popen(), fread() и pclose() может решить эту проблему.

Подробнее см. http://php.net/manual/en/function.popen.php.

...