0°

(一)PHPoC系统如何工作

简介

这篇文章将回答以下问题:

  • PHPoC系统如何运行PHPoC文件
  • 哪个文件在PHPoC系统中是必需的?
  • 哪个PHP文件在PHPoC系统循环中是本地运行的
  • 运行哪些PHP文件以响应来自外部的HTTP请求?
  • 如何强制PHP文件在系统循环中运行?
  • 如何使PHP文件不响应HTTP请求而运行

要使用PHPoC创建IoT设备,我们编写PHPoC脚本文件并将其上载到PHPoC设备。我们可以将许多文件上传到PHPoC。

PHPoC系统如何运行PHPoC文件?

PHPoC系统运行PHPoC脚本文件有两种方式。

  • 在无限循环中运行
  • 运行以响应HTTP请求

在无限系统循环中运行的PHPoC文件

与其他嵌入式系统一样,有些代码在无限循环上运行以执行某些特定任务。这种PHPoC文件包含在无限循环中运行的代码,以执行以下某些任务:

  • 从传感器读取数值
  • 控制执行器
  • 通过各种网络协议通过Internet发送/接收数据

运行的PHPoC文件仅响应HTTP请求

此类文件是Web应用程序文件。除PHPoC脚本外,它还可能包含HTML,JavaScript和CSS代码。

它仅在有HTTP请求时运行。

如果我创建my_file.php文件并将其上传到PHPoC,我如何让它在系统循环中运行或响应HTTP请求?

当您将my_file.php上传到PHPoC时:

  • 它可以在有HTTP请求时运行而不做任何事情。您可以在Web浏览器上输入以下地址来测试它:http://replace_phpoc_ip_addess/my_file.php以运行此文件。
  • 要使它在系统循环中运行,您需要使用以下代码创建init.php文件,以告知系统您要在系统循环中运行my_file.php:

PHP代码:

 // init.php
         system("php my_file.php");
?>

什么是init.php文件?

init.php文件是在PHPoC设备通电或重启时运行的文件。

它主要用于寄存器在系统循环中运行的文件。

哪个文件在PHPoC系统中是必需的?

如果应用程序包含需要在系统循环中运行的代码,则init.php文件是必需的。当PHPoC设备通电或重置时,将运行此文件。它主要用于告诉PHPoC系统在系统循环中运行哪些文件。例如,以下init.php文件告诉PHPoC系统在系统循环中运行文件blink_led.php:

PHP代码:

    system("php blink_led.php");
?>

如果应用程序不包含需要在系统循环中运行的代码,则不需要任何文件。

在PHPoC系统循环中内部运行哪个PHPoC文件?

在init.php文件中设置的文件在系统循环中运行。

什么是task0.php文件?

它只是在PHPoC系统循环中运行的PHPoC文件的常用名称。该名称不是强制性的。只要在init.php文件中指定它,就可以将其更改为任何名称。

哪些PHPoC文件可以运行响应来自外部的HTTP请求

上传到PHPoC的任何文件以响应HTTP请求。假设PHPoC设备的IP地址是192.168.0.2,并且有一个名为blink_led.php的PHPoC文件在PHPoC设备上。如果我们打开Web浏览器并输入:192.168.0.2/blink_led.php,则运行blink_led.php文件以响应来自Web浏览器的请求,无论它是否在系统循环上运行。但是,如果文件在系统循环中运行并同时响应HTTP请求,则可能会出错。因此,在系统循环中运行的PHPoC文件不应该提供HTTP请求。

什么是index.php文件?

它只是一个经常使用的PHPoC文件名,用于响应HTTP请求。如果在没有文件名的Web浏览器中输入PHPoC的URL或IP地址,则默认情况下会运行index.php文件。

例如,您在PHPoC上创建了两个文件:index.php和any_name.php。假设PHPoC的IP地址是192.168.0.2。

如果要从Web浏览器访问index.php,可以键入:

192.168.0.2

http://192.168.0.2

http://192.168.0.2/index.php

如果要从Web浏览器访问any_name.php,可以键入:

192.168.0.2/any_name.php

http://192.168.0.2/any_name.php

PHPoC上的文件数量没有限制。但是,PHPoC上的文件总大小有限(不超过512KB)。但它足以用于嵌入式应用程序。

如何使PHPoC文件拒绝提供HTTP请求

这很简单,只需在文件开头添加以下代码:

PHP代码:

if(_SERVER("REQUEST_METHOD"))
    exit; // avoid php execution via http request  

是否有可能一个文件在系统循环上运行并响应HTTP请求?

当文件在系统循环上运行但是有来自Web浏览器的请求(HTTP请求)时,会出现这种情况。

这是可能的。但是,在实际中,它通常会导致错误。因此,在系统循环中运行的PHPoC文件不应该提供HTTP请求。

如何在系统循环中运行PHPoC文件

只需要创建 init.php文件并使用“php”系统命令告诉系统运行该文件。例如,如果希望 blink_led.php在系统循环中运行,则只需使用以下代码创建init.php文件:

PHP代码:

    system("php blink_led.php");
?>
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论