Laravel入坑指南(1)——Hello World
接触PHP已经挺长一段时间了,一直对这个世界上最好的语言情有独钟。用熟练了之后,发现PHP不仅是天下第一,而且是宇宙第一。但是自从Laravel诞生之后,博主一直对Laravel有莫名的抵触,觉得这个框架就是JAVA SSM的山寨货,一直好感缺缺。最近觉得自己应该静下心做点事情,就把Laravel拿起来看了看,顺手试用了一下,发现“还挺香”。决定记录一下几个关键的入门知识,以表入坑Laravel。
(在这里,博主假设大家已经具备web服务器的配置能力,而且当前的web与php7环境已配置完成。博主用的是centos7+nginx+php7)
一、Hello World
作为一个程序猿的一股泥石流,博主深知入坑一个知识,最急迫的任务就是把它跑起来。
网上很很多教程,主要是用composer的create-project进入laravel项目的建构。但是问题来了,整个建构的过程会从github拉取工程项目,一道名曰GF的大墙会把你堵得喘不过气,速度如龟爬不说,而且有时还爬不动。有人会说了,把composer的源改到phpcomposer或者aliyun上。但是笔者试验后发现,这一波操作太天真了,构建的速度照样是慢。此时博主在create-project过程中加入-vvv参数,仍有一大部分的大文件从墙外拉取,导致速度极慢。
怎么办呢?要么每构建一次项目,等一个小时,去品品茶,喝喝咖啡也是极好的;要么另想它法。博主决定去github的laravel项目下载整个框架源码,但是下载后发现,卧槽,源码真是干净啊,连个vendor都没有。对于一个刚刚入坑的新手,拿到这份源码,真心浪不起来。一计不成,心生二计,博主直接去搜索是否有同步好的完整包。下面将完整的Hello World记录一下。
1) 下载完整的Laravel框架包 (选择一款你喜欢的)
2)下载之后,将包里的文件解压出来,你会看到如下的目录结构

不知道这个结构什么意思?没关系,现在的你还不需要知道。我们只需要将这个文件目录放置在你想要放的位置就行。
3)将public目录设置为站点根目录
然后在站点server配置节中添加上
location / {
try_files $uri $uri/ /index.php?$query_string;
}
如下图:

这时候,你访问http://localhost(或http://127.0.0.1,根据你的环境中实际的地址进行访问),会发现又一个卧槽,报错。不要急,看下一步。
4)最后的操作
首先,我们要了解,Laravel框架要求每个项目,都有一个自己的key,而这个key保存在项目根目录的.env文件(这里划重点)中。这时你会发现,有些版本下载下来的包里,连这个文件的影子都看不到,怎么破?只需要在根目录,新建一个文本文件,将文件名改成.env即可。文件的内容如下:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD= BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379 MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET= PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
然后,在项目根目录下运行命令:php artisan key:generate,这时候.env文件中的APP_KEY这一项就会被生成一个key值。
5)大功告成:
这时再访问这个站点,就可以看到以下界面,这时Hello World项目就被完美跑起来了:)

到这里Laravel入坑指南第一节就完成了。这坑指南主要是让各位初学者24小时精通Laravel(别用砖头扔我),所以会以实用的角度进行知识点的疏理,对于Laravel学院派的角度大家多多关注官网的手册。
好了,大家下回再见:)
--------------------------- 我是可爱的分割线 ----------------------------
最后博主借地宣传一下,漳州编程小组招新了,这是一个面向漳州青少年信息学/软件设计的学习小组,有意向的同学点击链接,联系我吧。
Laravel入坑指南(1)——Hello World的更多相关文章
- electron入坑指南
electron入坑指南 简介 electron 实际集成chrome浏览器和node环境, 运行你写的网页 app 基本目录结构 index.html 名称可以不是index, 这个文件与普通网页的 ...
- C语言入坑指南-被遗忘的初始化
前言 什么是初始化?为什么要初始化?静态变量和局部变量的初始化又有什么区别?实际应用中应该怎么做?本文将一一回答这些问题. 什么是初始化 初始化指的是对数据对象或者变量赋予初始值.例如: int va ...
- Elasticsearch入坑指南之RESTful API
Elasticsearch入坑指南之RESTful API Tags:Elasticsearch ES为开发者提供了非常丰富的基于Http协议的Rest API,通过简单的Rest请求,就可以实现非常 ...
- ElasticSearch入坑指南之概述及安装
---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...
- eclipse中导入外部包却无法查看对应源码或Javadoc的入坑指南
eclipse中导入外部包却无法查看对应源码或Javadoc的 入坑指南 出现这个错误的原因是,你虽然导入了.jar包,但没有配置对应的Javadoc或源码路径,所以在编辑器中无法查看源 码和对应AP ...
- Rust入坑指南:核心概念
如果说前面的坑我们一直在用小铲子挖的话,那么今天的坑就是用挖掘机挖的. 今天要介绍的是Rust的一个核心概念:Ownership.全文将分为什么是Ownership以及Ownership的传递类型两部 ...
- Rust入坑指南:鳞次栉比
很久没有挖Rust的坑啦,今天来挖一些排列整齐的坑.没错,就是要介绍一些集合类型的数据类型."鳞次栉比"这个标题是不是显得很有文化? 在Rust入坑指南:常规套路一文中我们已经介绍 ...
- Rust入坑指南:亡羊补牢
如果你已经开始学习Rust,相信你已经体会过Rust编译器的强大.它可以帮助你避免程序中的大部分错误,但是编译器也不是万能的,如果程序写的不恰当,还是会发生错误,让程序崩溃.所以今天我们就来聊一聊Ru ...
- Rust入坑指南:朝生暮死
今天想和大家一起把我们之前挖的坑再刨深一些.在Java中,一个对象能存活多久全靠JVM来决定,程序员并不需要去关心对象的生命周期,但是在Rust中就大不相同,一个对象从生到死我们都需要掌握的很清楚. ...
- Rust入坑指南:齐头并进(上)
我们知道,如今CPU的计算能力已经非常强大,其速度比内存要高出许多个数量级.为了充分利用CPU资源,多数编程语言都提供了并发编程的能力,Rust也不例外. 聊到并发,就离不开多进程和多线程这两个概念. ...
随机推荐
- OpenKruise :Kubernetes背后的托底
本文分享自华为云社区<OpenKruise核心能力和工作原理>,作者:可以交个朋友. 一. 诞生背景 Kubernetes 自身提供的应用部署管理功能,无法满足大规模应用场景的需求,例如应 ...
- [转帖]细说ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32编码
参考: <编码标准-GB2312 GBK GB18030> <字符编码笔记:ASCII,Unicode 和 UTF-8> <字体编辑用中日韩汉字Unicode编码表> ...
- [转帖]RocksDB 简介
https://docs.pingcap.com/zh/tidb/stable/rocksdb-overview RocksDB 是由 Facebook 基于 LevelDB 开发的一款提供键值存储与 ...
- [转帖]kingbase(人大金仓)的一些常用表操作语句
包括 1)创建表 2)删除表 3)加字段 4)字段换名 5)字段改类型 6)字段添加注释 7)修改字段为自增类型 8)增加主键 9)查看模式下的表 一.创建和删除表 DROP TABLE IF EXI ...
- [转帖]VMware Converter (P2V迁移)问题汇总
https://www.dinghui.org/vmware-converter-p2v.html VMware vCenter Converter Standalone,是一种用于将虚拟机和物理机转 ...
- [转帖]官网:Nacos的授权验证
https://nacos.io/zh-cn/docs/v2/guide/user/auth.html 注意 Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安 ...
- [转帖]Nginx Ingress 高并发实践
概述 Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分 ...
- elementui-自定表头和在input中遇见的问题
第一个问题:无法关闭 弹出框 <el-table :data="tableData" style="width: 100%"> <el-tab ...
- git push卡住了 git push writing object
解决方案: 执行命令:$ git config --global http.postBuffer 524288000 再次push 会卡在这里:POST git-receive-pack(892384 ...
- SqlSugar基础查询
查所有 List<Student> list=db.Queryable<Student>().ToList() //select * from Student 查询总数 int ...