在 Linux 配置基于 Laravel 的小程序开发环境
安装环境
任务时间:5min ~ 10min
更新操作系统
首先,我们需要更新我们的操作系统,让我们的云主机处在最新的状态。执行如下命令
安装 Apache 、 PHP 、 MySQL
完成了系统的更新后,我们来配置服务器端的 LAMP(Linux、Apache、MySQL、PHP)环境,让我们的 Laravel 可以在云端运行。
安装 Apache
首先,我们来安装 Apache ,执行如下命令:
稍等片刻后,安装完成,执行如下命令来启动 Apache 服务,并配置开机自启动
这时,你可以执行如下命令来检测你的 Apache 是否正常工作
安装 MySQL
接下来,来执行命令配置 MySQL 环境
稍等片刻后,安装完成,执行如下命令启动 Mariadb
然后执行如下命令来进行数据库的初始化
执行命令后,会让你输入默认的用户名,这里默认为空,直接回车即可,
提示设置 Root 密码时,选择 Y ,并输入 Root 密码,确认。
提示移除匿名用户时,选择 Y
提示关闭远程的 root 登录时,选择 Y
提示删除测试数据库时,选择 Y
提示刷新权限数据库时,选择 Y
这样,我们就完成了 MySQL 数据库的安全初始化了。
然后,执行如下命令,让 MySQL 开机自启动
安装 PHP 7
接下来,我们来安装 PHP 7 ,这里我们需要借助 webtatic 库编译的源码。
执行如下命令,来安装 webtatic 库
稍等片刻,安装完成后,我们可以执行命令来安装 PHP7
稍等片刻,模块就安装完成了,我们重启一下 Apache
安装 Composer
Laravel 使用 Composer 来管理依赖,所以,我们需要在我们的服务端配置上 Composer .执行如下命令,来安装 Composer
安装完成后,执行如下命令,切换为国内镜像,加速后续依赖的下载
安装 Laravel
任务时间:5min ~ 10min
初始化项目
接下来,我们在 Apache 的根目录中创建一个 Laravel 项目
执行完成命令后,会自动在当前目录的根目录中看到各文件。此时,可以访问 http://<您的 CVM IP 地址>/public 查看默认首页。
移除默认的 /public
我们在访问时,有一个 public 的前缀,非常不好看,我们希望可以去除这个前缀。
参考下面的配置文件,创建你的虚拟主机配置文件(/etc/httpd/conf.d/laravel.conf)
示例代码:/etc/httpd/conf.d/laravel.conf
保存完成后,重启 Apache .
然后,就可以访问 http://<您的 CVM IP 地址> 查看 Laravel 的默认页面了。
链接微信
任务时间:15min ~ 20min
引入 EasyWeChat
这里,我们使用 EasyWeChat 作为我们的微信框架,进入到我们的项目根目录,执行如下命令来安装 EasyWeChat
稍等片刻,执行完成后,执行如下命令
会自动生成 config/wechat.php ,接下来,我们来编辑这个文件,将其中代码改为如下所示(取消小程序部分和微信支付部分的注释)。
然后,我们在 /var/www/html/.env 文件中添加如下代码
并将各项目设置成为我们自己的值,后续,我们将使用 .env 文件中的值来创建小程序实例,并使用这个小程序实例来进行微信登录等后续的代码。
引入 JWT Auth
接下来,我们在项目内引入 JWT Auth
然后执行如下命令生成配置文件
并生成 Secret
然后,修改一下我们的配置文件(config/auth.php),你可以点击下面的对比查看具体的修改内容。
示例代码:/var/www/html/config/auth.php
并修改我们的 app/User.php 文件
示例代码:/var/www/html/app/User.php
这样我们就完成了 JWT Auth 的引入,后续,我们将返回 JWT 的 Token 给小程序,用于后续的登录。
创建 Auth 控制器,并实现微信登录
引入 Auth Controller
接下来,我们来生成一个 Auth 控制器,用于我们的微信登录
示例代码:/var/www/html/app/Http/Controllers/AuthController.php
并且,在 routes/api.php 中添加如下代码
改造微信登录
接下来,我们将 AuthController 中的 Login 方法修改为 微信登录的机制。
首先,在文件顶部添加如下代码(点我编辑文件)
然后替换 Login 方法为如下代码
这样,我们就实现了微信的自动登录。我们使用 wx.login 登录获得的 code 换取 session_key 以及 openId,并使用不变的 openId 拼接邮箱作为用户名,使用 openId 作为密码,来确保用户无需输入账号密码自动登录。
获取小程序码
我们如何获取小程序码?也非常简单,只需要添加如下代码即可
这样,我们就完成了基于 Laravel 的小程序后台的开发!后续的更多内容,你可以到 EasyWeChat 的官网去查看各 API 的调用方式。