乐趣区

Laravel初探

引言

从业三年多来,共接触过 4 个 php 框架,分别是 tp3.2phalcon3.2yii2,以及 laravel5.4
其中 phalcon3.2 与 laravel5.4 接触的多些,最近计划学一个框架深入下去,首选
便是 laravel.

laravel 号称是最优雅的 php 框架,在这个编程语言框架满天飞的 9102 年,php 一直被冠名世界上最好的
语言。相比于编译型的语言,解释型语言于我会舒服很多,修改即运行,我个人一直是 php 的信徒.

正文

搭建开发环境(windows 环境下)

想要在 windows 下跑一个 php 项目做到增删改查,需要 3 点:

  • php 的安装与环境配置
  • 数据库的安装与环境配置
  • web 服务器的安装与配置

注:

  • 数据库这里我使用 mysql,前辈们说:mysql 与 php 是最好的搭档.
  • web 服务器这里我使用 nginx,自己折腾的话也可以使用 apache.

为了节约时间,这里我使用 wnmp 集成包,传送门
https://wnmp.x64architecture….

  • 选择 26-Jan-2019 Wnmp-3.2.2.7z
  • 运行 Wnmp.exe
  • 点击 Start all

至此环境已经 ” 基本 ” 搭建好了,为什么此时叫 ” 基本 ” 呢 不急,我们继续探究:

安装 laravel 并且运行它

我们开发环境已经基本搭建好了,现在我们需要打开 laravel 的一个中文网站:
https://learnku.com/docs/lara…

看见该 5.8 版本的中文文档,文章中介绍通过 Composer 的方式可以安装 laravel.

Composer 又是个什么东西呢,学过前端的同学都知道 npm,Composer 就是后端的
‘npm’

windows 系统默认是没有 Composer 这个东西的,我们需要安装它:
https://getcomposer.org/downl…

我个人选择了最新的版本:

下载完根据指引需要注意:
指向 php 选项时选择本地 php 目录的 php.exe 文件,
如我本机: D:wnmpWnmpphpphp.exe

安装完成后添加系统环境变量,如我本机:

C:\Users\chenyun\AppData\Roaming\Composer\vendor\bin

结束到这一步我们的 Composer就算是安装完成了,现在让我们 cmd 下输入
composer -v 出现以下既为成功:

下面让我们使用 Composer 来安装 laravel

composer create-project --prefer-dist laravel/laravel testLaravel

固定命令,testLaravel 为项目名称,当我们输入这个命令时,满心欢喜以为要胜利了,等待下却发现命令行窗口毫无反应 …

别急,因为 composer 的本源来自国外,不知道资源是被被墙了还是怎样,反正速度慢到怀疑人生 …
我们需要添加一个镜像来访问想要的资源,这里选用了阿里云的镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer clearcache
composer update || install

记得要删除缓存 && 再次更新,
镜像添加完成后我们 cmd 下再输入

composer create-project --prefer-dist laravel/laravel testLaravel

等待一些时间后,会发现 testLaravel laravel 项目已经被 download 下来了.

laravel 项目已经成功生成了,因为我们此前 start 过集成环境包,我们来配置下 nginx,
查看 laravel 文件目录我们能发现,public/index.php 是 laravel 项目的入口文件,
我们需要配置一个本地域名以及 nginx 服务来指向它:

  • 1:我们先添加一个本地域名. windows 下添加域名在 host 文件里,目录:

C:\Windows\System32\drivers\etc\host,记事本打开 host 文件后,尾部追加:

127.0.0.1 localhost test.lara.com

注: test.lara.com 就是我们的本地域名

  • 2:配置 nginx 服务. 找到 nginx 目录里的 conf/nginx.conf,具体目录如我本机:

D:\wnmp\Wnmp\conf\nginx.conf
找着并打开文件 nginx.conf 文件后,我们在文件里配置一个 server:

server {
        listen       80;
        
        # server_name 指向本机的域名
        server_name  test.lara.com;
        
        // root 指向本地 laravel 项目的入口文件
        root   E:/cy_php_learning/sele_laravel_project/testLaravel/public;

        # 打开 log
        access_log  logs/host.access.log;

        location / {index  index.html index.htm index.php;}
        
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {root   html;}

        # 配置 FastCGI,PHP 脚本请求全部转发到 FastCGI 处理
        location ~ \.php$ {
            # 设置监听端口
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            # 设置脚本文件请求的路径
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            # 引入 fastcgi 的配置文件
            include        fastcgi_params;
        }

        location ~ /\.ht {deny  all;}
    }

到这里本地域名和 nginx 服务都配置好了,现在我们打开浏览器,地址栏键入 test.lara.com
此刻,让我们一起见证曙光的到来!

等待数秒,一句卧槽喷来,nginx 404…

这到底哪里出了问题呢,让我们来分析一下,nginx 能跑代表是 nginx 服务没有问题,那么就只有两种可能:

  • php 配置有问题
  • php 与 nginx 的关联配置有问题

通过检查配置以及 Google,查出了是 php 的配置有问题,此时我们来完善配置,
找到 php.ini 文件,记事本打开,

  • 找到 extension_dir,取消注释并赋值为”./ext”
  • 找到 cgi.fix_pathinfo,取消注释,cgi.fix_pathinfo=1

修改这两项之后,我们需要重启 wnmp 集成环境包,依次 Stop all -> Start all

到这里之后还差最后一步,启动 php-cgi (经过我个人观察,Wnmp.exe 内部没有启用 php-cgi,或是指向有问题,必须自己键入命令):
打开 cmd,如我本机,键入:

D:/wnmp/Wnmp/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/Wnmp/php/php.ini

此时我们再次打开浏览器,地址栏键入 test.lara.com,会看到

到了这里,laravel 项目已经成功跑起来了,万里长征第一步,现在已经真正开始了.

预告:下一篇将介绍如何利用 laravel 中的查询构造器实现 增删改查

结尾

至此,本篇文章就结束啦,laravel 文章系列我会一直学习并保持更新,如果觉得有帮助就关注一下博主的公众号吧: 愿作轻罗

文章会最新更新在 公众号 里, 涵盖 前端 php文章, 你的关注便是我原创的动力 T^T

退出移动版