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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 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.参考资料
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
9月前
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
201 25
|
9月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
227 28
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
488 3
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
825 1
|
10月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
287 18
|
10月前
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
221 10
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
561 2
|
数据库连接 PHP Apache
PHP在Apache中如何运行?
PHP在Apache中如何运行?
449 5
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08

推荐镜像

更多