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也不例外. 聊到并发,就离不开多进程和多线程这两个概念. ...
随机推荐
- [javaee] - tomcat 下载和配置环境变量
以tomcat9为例 第一步 :下载到本地并解压文件 解压后: 第二步:配置环境变量,在系统变量中添加 CATALINE_HOME ,路径为tomcat的目录 启动tomcat , 启动之后不要关 ...
- MongoDB 部署分片集群
部署配置服务器:configsvr 先生成.conf文件 mkdir -p /data/mongodb/configsvr vim /data/mongodb/configsvr/configsvr. ...
- [转帖]Sqlserver数据库中char、varchar、nchar、nvarchar的区别及查询表结构
https://www.cnblogs.com/liuqifeng/p/10405121.html varchar 和 nvarchar区别: varchar(n)长度为 n 个字节的可变长度且非 U ...
- [转帖]TiDB损坏多副本之有损恢复处理方法
https://tidb.net/blog/b1ae4ee7 TiDB分布式数据库采用多副本机制,数据副本通过 Multi-Raft 协议同步事务日志,确保数据强一致性且少数副本发生故障时不影响数 ...
- [转帖]Linux—编写shell脚本操作数据库执行sql
Linux-编写shell脚本操作数据库执行sql Hughman关注IP属地: 北京 0.0762020.03.20 09:02:13字数 295阅读 1,036 修改数据库数据 在升级应用时, ...
- [转帖]wmic命令介绍
https://www.jianshu.com/p/3e1a5a8fa23b How to Get Your System Serial Number PS C:\windows\system32&g ...
- Python学习之十八_获取神通数据库所有的表数据量
Python学习之十八_获取神通数据库所有的表数据量 背景 今天想获取一下所有数据库的表信息.但是发现神通数据库的系统表里面的表信息不正确 无法获取实际意义的表信息. 联系了下神通数据库的原厂高手. ...
- [转帖]SystemStap、BCC、bpftrace
https://plantegg.github.io/2019/09/16/SystemStap/ Linux 4.4+ 支持 eBPF.基于 eBPF 可以将任何内核函数调用转换成可带任何 数据的用 ...
- s-tui验证机器主频的过程
摘要 小年在家陪孩子. 翻阅<企业存储技术>公众号的文章时 找到了 s-tui 进行监控机器主频的文章 感觉挺有用的 想验证一下 虚拟机有否支持Intel的睿频功能. 所以将之前写的pyt ...
- SingleNode HDFS 搭建过程
背景 1. 纯粹测试 2. 未考虑安全和授权以及数据处理. 3. 单节点最简单的部署, 验证功能连接的可能性 资料获取以及环境变量的设置 获取最新的安装文件 https://downloads.apa ...