当前位置: 首页 > article >正文

自建本地Linux、PHP服务部署并验证

sudo apt install apache2
sudo apt install php libapache2-mod-php php-mysql
sudo systemctl restart apache2

sudo service mysql start
将您的Web项目文件(HTML、PHP、CSS、JavaScript等)上传到/var/www/html/myproject目录。您可以使用SCP、SFTP、FTP或任何您喜欢的文件传输工具来完成这一步骤。

修改mysql密码

service mysql restart

下载ThinkPhp、推荐fastadmin

https://www.fastadmin.net/download.html
在这里插入图片描述

访问安装

http://192.168.183.46/Think/public

源码放置位置如下

在这里插入图片描述

配置查看

在这里插入图片描述

找到服务器IP地址

ifconfig
在这里插入图片描述

新增接口

在这里插入图片描述

get请求示例

在这里插入图片描述

ESP8266访问示例
PIO配置-找到开发板对应支持库

在这里插入图片描述

新建项目对应刚才查到的配置

在这里插入图片描述

打开项目

在这里插入图片描述

查看自动生成对应配置

在这里插入图片描述
没毛病,如果出现对应库未安装,说明需要科学上网

源代码
#include <ESP8266WiFi.h>
#include <WiFiClient.h>

const char* ssid = "iQOO Neo6";
const char* password = "yyuuiioo";

void sendHttpRequest();

void setup() {
  Serial.begin(115200);
  Serial.println("启动中...");

  // 连接到Wi-Fi
  WiFi.begin(ssid, password);
  Serial.print("连接到 WiFi");

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println(".\n");
  }

  Serial.println("\n已连接到 WiFi");
  Serial.print("IP 地址: ");
  Serial.println(WiFi.localIP());

}

void loop() {
  // 你可以在这里添加其他代码,比如读取传感器数据或执行其他任务
  delay(5000); // 每2秒打印一次日志
  
  // 发送 HTTP 请求
  sendHttpRequest();
}

void sendHttpRequest() {
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect("192.168.183.46", httpPort)) {
    Serial.println("连接失败");
    return;
  }

  // 发送 HTTP 请求
  client.print(String("GET /Think/public/index.php/api/Demo/test HTTP/1.1\r\n") +
               "Host: 192.168.183.46\r\n" +
               "Connection: close\r\n\r\n");

  Serial.println("发送 HTTP 请求");

  // 读取响应
  while (client.connected()) {
    if (client.available()) {
      String line = client.readStringUntil('\r');
      Serial.println(line);
    }
  }

  // 关闭连接
  client.stop();
  Serial.println("\nHTTP 请求完成");
}

代码非常简单,就是一个连接并发送请求的示例

查看串口打印数据

在这里插入图片描述

完结★,°:.☆( ̄▽ ̄)/$:.°★

PS:注意次此次实验的前提是所有设备均连接在同一个局域网下


http://www.kler.cn/a/509678.html

相关文章:

  • 如何使用C#与SQL Server数据库进行交互
  • PCL K4PCS算法实现点云粗配准【2025最新版】
  • 【Vim Masterclass 笔记16】S07L32 + L33:同步练习09 —— 掌握 Vim 宏操作的六个典型案例(含点评课内容)
  • 文件操作:系统IO
  • 2025.1.16——六、BabySQL 双写绕过|联合注入
  • DETRs with Collaborative Hybrid Assignments Training论文阅读与代码
  • python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)图像变换
  • STM32 学习笔记【补充】(十)硬件I2C读写MPU6050
  • 微调Qwen2.5-0.5B记录
  • 西门子PLC读取梅安森烟雾传感器数据
  • 5. 使用springboot做一个音乐播放器软件项目【业务逻辑开发】
  • 分布式理解
  • SiamCAR(2019CVPR):用于视觉跟踪的Siamese全卷积分类和回归网络
  • app版本控制java后端接口版本管理
  • Spring Boot 中使用 ShardingSphere-Proxy
  • SpringBoot 项目中配置日志系统文件 logback-spring.xml 原理和用法介绍
  • 数字化的三大战场与开源AI智能名片2+1链动模式S2B2C商城小程序源码的应用探索
  • javaEE安全开发 SQL预编译 Filter过滤器 Listener 监听器 访问控制
  • Delete `␍`eslintprettier/prettier
  • 【Linux】14.Linux进程概念(3)
  • 一个好用的vue+node后台管理系统
  • -bash: /java: cannot execute binary file
  • JS宏进阶:正则表达式介绍
  • One Prompt is not Enough: Automated Construction of a Mixture-of-Expert Prompts
  • Vue 动态生成响应式表格:优化桌面与移动端展示效果
  • MySQL程序之:使用DNS SRV记录连接到服务器