目录
Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的 Web App,而且每行代码都可以简洁、富于表达力。
1.下载PhpStudy
官网地址:
启用Apache和mysql。
注意:项目代码一定要放在WWW目录下,也就是安装phpStudy的目录下。我的是phpStudy/WWW。
2.下载lavarel
官网地址:Laravel - The PHP Framework For Web Artisanshttps://laravel.com/
将解压后的文件夹的文件放在上面提到的“D:\Microsoft\phpstudy_pro\WWW”里面,如下图所示:
重启运行Apache,在浏览器里输入localhost,会得到错误提示信息如下:
这时需要修改网站的设置参数,如下图:
再重启Apache服务器,在浏览器打开localhost网址,提示如下错误:
3.下载composer
官网地址:
ComposerA Dependency Manager for PHPhttps://getcomposer.org/download/
https://getcomposer.org/Composer-Setup.exe
运行Composer-Setup.exe
运行命令行,转到laravel目录“D:\Microsoft\phpstudy_pro\WWW\laravel”,输入
curl error 28 while downloading https://repo.packagist.org/packages.json: Timeout was reached
由于下载源下载不了,更改镜像位置,于是输入如下命令:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer install
于是composer一般能安装成功。WWW目录里会自动生成它的安装目录vendor,
重启运行Apache,在浏览器里输入localhost,提示如下的错误。
这时需要改一些设置。
查找“D:\Microsoft\phpstudy_pro\WWW\laravel”文件夹的文件.env,如果没有,则将.env.example改名为.env。
重启运行Apache,在浏览器里输入localhost,提示如下的错误。
php.exe的路径如下:
将php.exe的路径添加到操作系统的环境变量里面,方便后面调用php.exe。
安装 Laravel 之后下一件应该做的事就是将应用程序的密钥设置为随机字符串。如果你是通过 Composer 或 Laravel 安装器安装的 Laravel,那这个密钥已经为你通过 php artisan key:generate 命令设置好了。
php artisan key:generate
通常来说,这个字符串长度为 32 个字符。密钥可以在 .env 环境文件中设置。前提是你要将 .env.example 文件重命名为 .env。如果应用程序密钥没有被设置,就不能确保你的用户会话和其他加密数据的安全!
重启运行Apache,在浏览器里输入localhost,laravel框架终于部署成功。
4.下载SQLyog
官网地址:
https://github.com/webyog/sqlyog-community
https://www.webyog.com/community
SQLyog是RDBMS MySQL的GUI工具。SQLyog是免费提供的,但是具有封闭的源代码,直到v3.0成为完全商业软件为止。如今,SQLyog既作为免费软件发行,也作为若干付费专有版本发行。免费软件版本 在GitHub上称为Community Edition 。付费版本以专业版,企业版和终极版出售。
下载地址:
5.编写数据接口api
写API接口,与传统的渲染前端模板页面有什么区别?少了视图,只需要准备好数据, 并按照规则格式化,返回就可以了。
打开文件“.env”,进行修改,以方便和数据库进行连接。
然后在里面修改一些配置。比如DB_CONNECTION=mysql;DB_HOST=localhost;DB_PORT=3306;即连接的数据库类型、域名和端口号,这个一般都是默认的。DB_DATABASE=test;这个是链接的数据库名称。DB_USERNAME=root
DB_PASSWORD=root。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dianzi_ls
DB_USERNAME=root
DB_PASSWORD=123456
在app目录下新建一个Question.php文件,用于访问px_question数据表。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Question extends Model{
protected $table = 'px_question';
protected $primaryKey = 'id';
public function getDateFormat()
{
return time();
}
}
在app/Http/Controllers目录下新建一个QuestionController.php文件:
<?php
namespace App\Http\Controllers;
use App\User;
use App\Http\MLCommonUtil;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Question;
class QuestionController extends Controller{
public function getQuestion(Request $request){
$response = array('status'=>'0','msg'=>'failed','data'=>'');
$data = array();
// 获取请求参数值
$questionId = $request->input("questionId");
// 根据参数值去向表里查找对应的数据
$question = Question::find($questionId);
// 查找完毕之后,把查找到的数据赋值给response下的data字段
$response['data'] = $question;
$response['status'] = '2';
$response['msg'] = 'success';
return json_encode($response);
}
}
最后是通过路由进行网络请求的,在routes目录下的web.php文件里写下
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\QuestionController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
//Route::any('getQuestion', "QuestionController@getQuestion");
Route::get('getQuestion',[QuestionController::class,'getQuestion']);
最后一个步骤就是测试自己写的接口是否可用。
http://localhost/getQuestion?questionId=72
可能报错如下:
public目录下新建一个.htaccess文件
文件内容修改如下:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
再访问网址:http://localhost/getQuestion?questionId=72
6.配置https
- HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 默认工作在 TCP 协议 80 端口,用户访问网站 http:// 打头的都是标准 HTTP 服务。
- HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 默认工作在 TCP 协议443端口。
6.1 生成服务器证书
命令行进入phpstudy安装目录里面的Apache的bin目录:
D:\Microsoft\phpstudy_pro\Extensions\Apache2.4.39\bin
6.2 设置openssl环境变量
set OPENSSL_CONF=../conf/openssl.cnf
6.3 生成密钥文件
openssl genrsa 1024 >ssl.key
6.4 生成证书请求文件
(1)执行生成文件命令
openssl req -new -key ssl.key > ssl.csr
(2)根据提示填写各项参数
Country Name (2 letter code) [AU]:CN ISO国家代码
State or Province Name (full name) [Some-State]:SD所在省份
Locality Name (eg, city) []:YT所在城市
Organization Name (eg, company):test1公司名称
Organizational Unit Name (eg, section) []:test2组织名称
Common Name (eg, YOUR name) []:mywww.com申请证书的域名
Email Address []:admin@admin.com 管理员邮箱
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
注意:company name与上面的Common Name一定要保持一致。
6.5 签署服务器证书文件
openssl req -x509 -days 5000 -key ssl.key -in ssl.csr > ssl.crt
把前几步生成的密钥ssl.key和证书ssl.csr请求生成证书 ssl.crt,-days参数指明证书有效期,单位为天。
6.6 配置Apache
将生成的三个文件移动到ssl.crt,ssl.csr,ssl.key移动到Apache\conf目录下面。
(1)修改httpd.conf
取消下面两行的注释#
Include conf/extra/httpd-ssl.conf
LoadModule ssl_module modules/mod_ssl.so
(2)修改httpd-ssl.conf
DocumentRoot "D:/Microsoft/phpstudy_pro/WWW3/blog/public"
SSLCertificateFile "${SRVROOT}/conf/ssl.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl.key"
重启浏览器测试如下:
终于成功了!
相关文件和代码见如下地址:
https://download.csdn.net/download/hhy321/24837657
后续
如果你觉得该方法或代码有一点点用处,可以给作者点个赞;╮( ̄▽ ̄)╭
如果你感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进。o_O???
谢谢各位童鞋们啦( ´ ▽ ` )ノ ( ´ ▽ ` )っ!!!