树莓派学习笔记——Restful服务 采用slim php apache

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 0.前言     前些时间沉迷于Restful,采用PHP+Slim+MySQL实现了一些简单的API函数。但是这些工作都是在windows中实现(采用wamp server集成安装包),但是转到linux中还确实有些不一样,下面就使用树莓派尝试一把。
0.前言
    前些时间沉迷于Restful,采用PHP+Slim+MySQL实现了一些简单的API函数。但是这些工作都是在windows中实现(采用wamp server集成安装包),但是转到linux中还确实有些不一样,下面就使用树莓派尝试一把。
 
1.安装php和apache2
    在这里仅安装php和apache2,如果需要安装mysql请再增加php5-mysql和mysql-server
    sudo apt-get update
    sudo apt-get install apache2 php
    
2.配置apache2
    【为什么配置apache】
    需要打开apache中的url重定向功能,例如api/leds/1,请示并不存在该文件,而是通过响应的代码生成响应。默认情况下,apache关闭了url重定向功能,所有才有了以下的设备。
    关于windows中的设置请查看博文——【 PHP再学习4—— slim框架学习和使用
    【目录说明】
    若使用wamp server集成安装包,那么apache2相关配置文件位于\wamp安装目录\bin\apache\Apache2.4.4\conf
    若在linux环境配置文件就显得有些不一样了,配置文件位于 /etc/apache2,文件名为apache2.conf
    配置文件并不是有一个文件组成,还包括该目录下其他文件夹下的配置文件。
    
    【1】使能mode_rewirte
    sudo a2enmod rewrite
    【2】修改配置文件 使用.htaccess文件
    配置文件位于/etc/apache2/sites-available,文件名为default。
    在<Directory /var/www/>设置中,原定为AllowOverride None,意为不使用.htaccess文件,可修改为AllowOverride FileInfo,意为使用.htaccess中的相关设置。
   <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>
    【3】重启Apache
    sudo service apache2 restart
 
3.安装slim
    安装的具体方法有很多,这里就说说其中的一种。
    【使用Git克隆文件】
    可在home下建立一个临时文件,例如slim_temp(mkdir slim_temp)
    CD至该目录,输入以下指令
    git clone  https://github.com/codeguy/Slim
    【复制文件到/var/www/ 目录】
    把index.php文件,Slim文件夹和.htaccess文件 拷贝到/var/www/目录
    请注意/var/www/目录的所有者为root,复制前可修改该目录的所有者为pi
    sudo chown -R pi /var/www
     
4.简单的测试
    使用火狐浏览器中的HTTPRequest工具,POST方法。
   
图1 发送POST请求
5.总结
    虽然树莓派做Http server能力有限,但是过程非常有趣。通过过程学习了很多apache2配置的知识。
 
6.参考资料
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
|
8天前
|
存储 Java 数据库连接
php学习笔记-代码基本语法-day01
本文是关于PHP编程语言的基础语法学习笔记,内容包括PHP的介绍、注释风格、数据类型、命名规范、常量和变量的使用,以及变量和常量相关的常用函数。文中详细解释了PHP的基本语法元素和一些易混淆的概念,如传值赋值与传址赋值、可变变量,以及如何检查变量是否已定义或为空。
php学习笔记-代码基本语法-day01
|
8天前
|
JavaScript 前端开发 安全
php学习笔记-普通表单参数提交获取及页面的重定向和一个登录小demo-day05
本文介绍了PHP中普通表单参数的提交获取、页面重定向的方法,并通过一个登录示例演示了表单参数的封装和页面跳转处理。
|
8天前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
8天前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
8天前
|
JavaScript Java PHP
php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
本文是第二天的PHP学习笔记,涵盖了PHP中运算符的使用、类型转换方式,以及打印输出语句的特点,展示了其相较于其他编程语言的一些特殊之处。
php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
|
8天前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
8天前
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
2月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
42 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
8天前
|
JavaScript 程序员 PHP
php学习笔记-php自定义函数-day05
本文介绍了PHP自定义函数的创建、调用、参数赋值以及作用域和生命周期,还探讨了`global`和`static`关键字的使用,以及`return`、`exit`和`die`的不同用法。

推荐镜像

更多
下一篇
无影云桌面