laravel开发环境配置

缘由:laravel环境配置,准备工作都在这里了

软件工程中,学习一门技能,主要分2部分

  • 一是。搭建环境,学习语言;
  • 二是。熟悉框架,使用框架。
    做好上述2步,基本就算会了这门技能,提升主要体现在对框架源码的认知高度,对语言实现运行时的理解。概括为,入门体现在会用该技能解决现实中某种问题;提升体现在知道为什么这样做怎样做到的。

本文主要总结归纳php-laravel,这门技能【我之前使用过的】 – 环境搭建部分

一、vagrant,virtualbox,homestead.box

1-1、准备工作

下载vagrant,virtualbox,homestead.box,这三个文件,在我的U盘中,都长期有备份。
virtualbox和vagrant的使用,可参考之前写过的vagrant&virtualbox的文章

1-2、安装laravel官网,配置homestead.box

我们进入laravel官网,查看homestead.box的配置。
为了以后方便,这里指定接下来使用的box版本号和homestead库分支号。homestead.box-v5.0.1,Homestead库分支-v7.0.1

  • 1.fork下homestead库,这里面有vagrant软件配置项【针对homestead】

我已经fork了一份,以后可以做完常用配置文件,修改保存,地址

  • 2.使用homestead库配置homestead.box

进入homestead库文件夹,切换好branch dev 【这个分支,是我自己使用的】

1
git checkout dev

运行脚本,生成Homestead.yaml,aliases,after.sh,这3个文件

1
2
3
4
5
// Mac / Linux...
bash init.sh
// Windows...
init.bat

  • 3.配置Homestead.yaml文件

a、设置Homestead.yaml中的Provider配置项

1
provider: virtualbox

b、配置共享文件夹
设置Homestead.yaml中的folders配置项

1
2
3
folders:
- map: ~/code
to: /home/vagrant/code

c、配置nginx站点
设置Homestead.yaml中的sites配置项

1
2
3
sites:
- map: hang.com
to: /home/vagrant/code/Laravel/public

设置本地hosts文件

1
192.168.10.10 hang.com

  • 4.加载Vagrant Box
    在homestead文件夹中,运行vagrant up
    这里一般会出现二个错误,1.提示找不到laravel/homestead的box;2.还是提示找不到laravel/homestead的box

对于问题一

1
2
在我们使用vagrant box add xx_name file:///xx的时候,我们需要将xx_name 填为laravel/homestead,
因为在scripts/homestead.rb文件中有名称约束

对于问题二
我们需要修改scripts/homestead.rb文件中的约束

1
2
3
4
5
# Configure The Box
config.vm.define settings["name"] ||= "homestead-7"
config.vm.box = settings["box"] ||= "laravel/homestead"
#config.vm.box_version = settings["version"] ||= ">= 4.0.0"
config.vm.hostname = settings["hostname"] ||= "homestead"

由于我们本地使用的version是0,所以应该将box的版本约束去掉

  • 5.一些问题
    a、进行到4步之后,可能遇到一些问题,一般是由于网络因素,所以设置终端走代理,小飞机开全局

b、我们如果修改homestead中配置项的话,需要执行vagrant reload --provision命令

二、配置laravel开发环境【虚拟机中】

2-1、修改虚拟机中的composer镜像

在虚拟机终端执行下面代码,配置镜像

1
composer config -g repo.packagist composer https://packagist.phpcomposer.com

2-2、开始体验laravel

正常情况下,你只需要在浏览器中,输入hang.com就可以了。
如果有一些文件夹权限的问题,按照错误信息,修改文件夹权限就可以了

三、学习框架最好的办法是看源码

3-1、看源码最好的办法,是断点调试[web]

3-1-1、homestead虚拟机装xdebug

我使用的homestead【php7.2】虚拟机中,没有安装xdebug,这个可以使用php -i,然后导出代码,填写到xdebug检测,就可以知道自己有没有安装xdebug了。如果没有安装,顺着官网指导,安装。

3-1-2、配置xdebug

新建/etc/php/7.2/fpm/conf.d/20-xdebug.ini,添加内容如下:

1
2
3
4
5
zend_extension=xdebug.so
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.max_nesting_level = 512

重启php7.2 sudo service php7.0-fpm restart

3-1-3、 Chrome xDebug plugin

下载谷歌xdebug插件,配置该插件【选中debug模式,在插件配置中,设置phpstorm】

3-1-4、刷新网页

这个时候,我们应该在phpstorm中,可以看到一个弹窗,设置名字,loaclhost,本地地址

warning:地址设置,一定要注意是输入最外层地址,就是映射地址code
phpstorm右上侧,有一个listen xdebug按钮,选中它

3-1-5、参考资料

整体安装思路

xdebug安装

3-1、看源码最好的办法,是断点调试[api]

我们在laravel中写api接口的时候,也有断点调试的需求,比如我们使用postman发送post请求,那么怎么断点调试呢,在上面配置的基础上,只需要将postman中的url加上?XDEBUG_SESSION_START=PHPSTORM,然后在header中加上字段XDEBUG_SESSION=PHPSTORM,例子:

1
2
url :: hang.com/api/user?XDEBUG_SESSION_START=PHPSTORM
headers :: XDEBUG_SESSION=PHPSTORM
坚持原创技术分享,您的支持将鼓励我继续创作!