Почему блокируется com порт при чтении из под php и как включить расширение dio?

Необходимо работать напрямую с com портом (купюроприемник cashcode), ubuntu 16.04 & php7.1
При включении пк, при первом обращении к com порту происходит подвисание ком порта при попытке считать ответ. Временно лечу запуском сторонней программы (которая нормально с ком портами работает), после нее все работает как надо.

либа для работы с ком портом
Хелпер для купюроприемника
Сам контроллер

Вычитал что можно попробовать через dio читать и пистаь в порт, мол более низкоуровневый.
Установил через pear
sudo pear install channel://pecl.php.net/dio-0.1.0
Прописал в конфиге /etc/php/7.1/fpm/php.ini
extension=dio.so

Но в phpinfo не вижу что библиотека подключилась и сам php ругается на
Call to undefined function dio_open()
  • Вопрос задан
  • 708 просмотров
Решения вопроса 1
slowdream
@slowdream Автор вопроса
Сравнил через сервис вывод конфига порта рабочего и нет, получилось
stty -F /dev/ttyS0 min 0 -hupcl -icrnl -ixon -isig -icanon -iexten -echo ignbrk noflsh -opost
все заработало
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov Куратор тега PHP
Web developer
extension=dio.so

Уверены, что именно так называется файл?
Найдите его в /usr/lib/php и подпапках

Прописал в конфиге /etc/php/7.1/fpm/php.ini

Правильнее это делать в отдельном файле /etc/php/7.1/fpm/conf.d/dio.ini
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы