Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP串行可在windows上工作,但不能在linux上工作_Php_Linux_Windows_Apache - Fatal编程技术网

PHP串行可在windows上工作,但不能在linux上工作

PHP串行可在windows上工作,但不能在linux上工作,php,linux,windows,apache,Php,Linux,Windows,Apache,我有一个PHP脚本,我正试图通过Apache在Linux上运行。该脚本使用PHP串行向使用TAP协议的寻呼系统发送通知。问题在于,无论是本地托管PHP文件还是远程托管,该脚本都无法在Linux上运行。该脚本在Windows上工作,但在Linux上不工作 我尝试过将USB串行端口交换为真正的串行端口,但这不起作用,我尝试过从服务器本身和远程连接运行它,但无效,我尝试过将代码更改为仅通过串行端口发送消息,我无法使用PHP发送消息,我曾尝试使用python通过端口接收消息,并且能够向端口发送消息,并使

我有一个PHP脚本,我正试图通过Apache在Linux上运行。该脚本使用PHP串行向使用TAP协议的寻呼系统发送通知。问题在于,无论是本地托管PHP文件还是远程托管,该脚本都无法在Linux上运行。该脚本在Windows上工作,但在Linux上不工作

我尝试过将USB串行端口交换为真正的串行端口,但这不起作用,我尝试过从服务器本身和远程连接运行它,但无效,我尝试过将代码更改为仅通过串行端口发送消息,我无法使用PHP发送消息,我曾尝试使用python通过端口接收消息,并且能够向端口发送消息,并使用python获取消息,因此端口可以正常工作


Windows将返回处理为chr(13)。默认情况下,chr(10)在linux上,您需要添加chr(10)才能使用返回。正如用户Dave所提到的。在注释中添加此项以关闭它。

在基于UNIX的系统中,文件等区分大小写(这是有充分理由的)-由于某些原因,Windows对于所有文件名来说都是免费的。确保文件名完全匹配-不仅仅是在文本上。这两个系统的文件都是相同的,我对这两个系统的调用都是相同的。都是小写的。我正在运行php文件并加载该站点,但它只是没有通过串行端口发送任何内容。Linux可能需要
chr(10)
而不是
chr(13)
或与其一起使用。查看是否更改
$CR=chr(13)
$CR=chr(13)。chr(10)
$CR=chr(10),看看是否有什么不同。你做这些改变似乎一点帮助都没有。你是说仅仅为了CR而改变ti吗?或者所有的chr(13)s?好的,所以chr(10)是需要的,我也只是有一个端口问题。谢谢大家的帮助