接触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框架包 (选择一款你喜欢的)

Laravel 7.0 一键安装包

Laravel 6.0 一键安装包

Laravel 5.8 一键安装包

Laravel 5.7 一键安装包

Laravel 5.6 一键安装包

Laravel 5.5 一键安装包

Laravel 5.4 一键安装包

Laravel 5.3 一键安装包

Laravel 5.2 一键安装包

Laravel 5.1 一键安装包

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的更多相关文章

  1. electron入坑指南

    electron入坑指南 简介 electron 实际集成chrome浏览器和node环境, 运行你写的网页 app 基本目录结构 index.html 名称可以不是index, 这个文件与普通网页的 ...

  2. C语言入坑指南-被遗忘的初始化

    前言 什么是初始化?为什么要初始化?静态变量和局部变量的初始化又有什么区别?实际应用中应该怎么做?本文将一一回答这些问题. 什么是初始化 初始化指的是对数据对象或者变量赋予初始值.例如: int va ...

  3. Elasticsearch入坑指南之RESTful API

    Elasticsearch入坑指南之RESTful API Tags:Elasticsearch ES为开发者提供了非常丰富的基于Http协议的Rest API,通过简单的Rest请求,就可以实现非常 ...

  4. ElasticSearch入坑指南之概述及安装

    ---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...

  5. eclipse中导入外部包却无法查看对应源码或Javadoc的入坑指南

    eclipse中导入外部包却无法查看对应源码或Javadoc的 入坑指南 出现这个错误的原因是,你虽然导入了.jar包,但没有配置对应的Javadoc或源码路径,所以在编辑器中无法查看源 码和对应AP ...

  6. Rust入坑指南:核心概念

    如果说前面的坑我们一直在用小铲子挖的话,那么今天的坑就是用挖掘机挖的. 今天要介绍的是Rust的一个核心概念:Ownership.全文将分为什么是Ownership以及Ownership的传递类型两部 ...

  7. Rust入坑指南:鳞次栉比

    很久没有挖Rust的坑啦,今天来挖一些排列整齐的坑.没错,就是要介绍一些集合类型的数据类型."鳞次栉比"这个标题是不是显得很有文化? 在Rust入坑指南:常规套路一文中我们已经介绍 ...

  8. Rust入坑指南:亡羊补牢

    如果你已经开始学习Rust,相信你已经体会过Rust编译器的强大.它可以帮助你避免程序中的大部分错误,但是编译器也不是万能的,如果程序写的不恰当,还是会发生错误,让程序崩溃.所以今天我们就来聊一聊Ru ...

  9. Rust入坑指南:朝生暮死

    今天想和大家一起把我们之前挖的坑再刨深一些.在Java中,一个对象能存活多久全靠JVM来决定,程序员并不需要去关心对象的生命周期,但是在Rust中就大不相同,一个对象从生到死我们都需要掌握的很清楚. ...

  10. Rust入坑指南:齐头并进(上)

    我们知道,如今CPU的计算能力已经非常强大,其速度比内存要高出许多个数量级.为了充分利用CPU资源,多数编程语言都提供了并发编程的能力,Rust也不例外. 聊到并发,就离不开多进程和多线程这两个概念. ...

随机推荐

  1. OpenKruise :Kubernetes背后的托底

    本文分享自华为云社区<OpenKruise核心能力和工作原理>,作者:可以交个朋友. 一. 诞生背景 Kubernetes 自身提供的应用部署管理功能,无法满足大规模应用场景的需求,例如应 ...

  2. [转帖]细说ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32编码

    参考: <编码标准-GB2312 GBK GB18030> <字符编码笔记:ASCII,Unicode 和 UTF-8> <字体编辑用中日韩汉字Unicode编码表> ...

  3. [转帖]RocksDB 简介

    https://docs.pingcap.com/zh/tidb/stable/rocksdb-overview RocksDB 是由 Facebook 基于 LevelDB 开发的一款提供键值存储与 ...

  4. [转帖]kingbase(人大金仓)的一些常用表操作语句

    包括 1)创建表 2)删除表 3)加字段 4)字段换名 5)字段改类型 6)字段添加注释 7)修改字段为自增类型 8)增加主键 9)查看模式下的表 一.创建和删除表 DROP TABLE IF EXI ...

  5. [转帖]VMware Converter (P2V迁移)问题汇总

    https://www.dinghui.org/vmware-converter-p2v.html VMware vCenter Converter Standalone,是一种用于将虚拟机和物理机转 ...

  6. [转帖]官网:Nacos的授权验证

    https://nacos.io/zh-cn/docs/v2/guide/user/auth.html 注意 Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安 ...

  7. [转帖]Nginx Ingress 高并发实践

    概述 Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分 ...

  8. elementui-自定表头和在input中遇见的问题

    第一个问题:无法关闭 弹出框 <el-table :data="tableData" style="width: 100%"> <el-tab ...

  9. git push卡住了 git push writing object

    解决方案: 执行命令:$ git config --global http.postBuffer 524288000 再次push 会卡在这里:POST git-receive-pack(892384 ...

  10. SqlSugar基础查询

    查所有 List<Student> list=db.Queryable<Student>().ToList() //select * from Student 查询总数 int ...