You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Linux version 4.19.0-14-amd64 and PHP 7.4 and try to access a GSM modem.
When fopen('/dev/ttyS0', 'r+b') is called within deviceOpen() method PHP is blocking and does not resume. I have searched around and found out that people who use C open serial ports with O_RDWR | O_NDELAY mode (see here).
In PHP there is an undocumented flag n, which makes fopen using non-blocking mode. Here are my sources:
I am using Linux version 4.19.0-14-amd64 and PHP 7.4 and try to access a GSM modem.
When
fopen('/dev/ttyS0', 'r+b')
is called withindeviceOpen()
method PHP is blocking and does not resume. I have searched around and found out that people who use C open serial ports withO_RDWR | O_NDELAY
mode (see here).In PHP there is an undocumented flag
n
, which makes fopen using non-blocking mode. Here are my sources:When I call
$serial->deviceOpen('r+bn')
with the "n" flag, my code works ;-)I hope this will help somebody.
The text was updated successfully, but these errors were encountered: