热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Laravel集成开发环境配置

Laravel的目的就是让开发这的开发体验更愉快,开发过程更加简单。在环境搭建上也是如此。Laravelhomestead是一个官方发布的vagrant封装包——一个虚拟机——

Laravel的目的就是让开发这的开发体验更愉快,开发过程更加简单。在环境搭建上也是如此。
Laravel homestead是一个官方发布的vagrant封装包——一个虚拟机——提供完备的开发环境。在homestead配置完成后,不需要在本地环境中配 置任何的开发工具,vagrant可以搞定一切。因为是虚拟机,不会对本地系统产生任何的破坏。同时如果出现故障,可以在几分钟内销毁并重建虚拟机。
homestead是跨平台的,可以在windows,Linux,Mac上运行,其中集成了nginx,php5.6,MySql,postgres,Redis,Memcached,HHVM等所有开发laravel所需的软件。
本文档是针对windows环境下homestead的配置运行。

1. 本地环境设置

1.1 编辑器

建议使用sublime Text 3,会有单独文档来说明如何使用Sublime Text高效开发php。

1.2 php

运行composer必须要有PHP,建议使用最新版本的发行版php,目前最新版本5.6.8。php windows版本分为32位和64位的,64位目前仍处于试验阶段,我们选择稳定的32位版本。其中又分为thread safe和not thread safe版本,在web开发中我们选择not thread safe版本,点击这里下载。
注意 php windows版本使用VC11编译,系统需要有Visual C++ Redistributable for Visual Studio 2012 x86 or x64,如果系统没有安装这个包,请点击这里下载安装。
(1) 下载压缩包解压到C盘根目录
(2) 配置环境变量,添加C:\php-5.6.8-nts-Win32-VC11-x86到PATH。
(3) 修改php配置。拷贝php.ini-development 为php.ini。去extension=php_openssl.dll(composer需要) extension=php_mbstring.dll(laravel需要)前的注释。找到; extension_dir = "ext",修改为extension_dir = "C:\php-5.6.8-nts-Win32-VC11-x86\ext"
(4)打开console,运行php -version确认php安装成功。

C:\>php -version
PHP 5.6.8 (cli) (built: Apr 15 2015 15:07:05)  
Copyright (c) 1997-2015 The PHP Group  
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

1.3 composer

点击这里下载。
安装完成后,打开console,运行composer --version确认安装成功。

C:\>composer  --version
Composer version 1.0-dev (bc45d9185513575434021527d7756420e9f4b2cf) 2015-05-11 14:49:39

composer默认会从·http://packagist.org/· 下载依赖包,速度比较慢,可以采用国内的镜像包来替代源。
composer的全局配置文件位于 C:\Users\benjamincao\AppData\Roaming\Composer\composer.json,两个速度比较快的可选的源配置如下:

{    "repositories":[
        {            "type":"composer",            "url":"https://toran.reimu.io/repo/packagist/"
        },
        {            "packagist":false
        }
    ]
}

或者

{    "repositories": [
        {            "type": "composer", 
            "url": "http://comproxy.cn/repo/packagist"
        },
        {            "packagist": false
        }
    ]
}

在开发laravel项目时,也可以在当前项目的composer.json文件中添加这些国内镜像,可以加快对包的更新

1.4 putty

putty是免费的ssh客户端,登录homestead虚拟机的利器。
点击这里下载。
注意 如果不使用putty登录,用homestead ssh登录,也可以。

2. Homestead 相关软件安装

2.1 vagrant

vagrant是一个虚拟机管理工具。在添加虚拟机后,可以启动虚拟机的镜像,如果出现错误,可以随时销毁重建开发环境。

从这里 下载。下载后直接安装。
vagrant安装确认:

C:\>vagrant --version
Vagrant 1.7.2

2.2 virtualbox

virtualbox是作为vagrant的一个provider,安装后,在启动homestead时候,vagrant会自动启动virtualbox。

从这里 下载,下载直接安装。

2.3 homestead

直接使用composer安装

composer global require "laravel/homestead=~2.0"

homestead将会被安装在C:\Users\benjamincao\AppData\Roaming\Composer\vendor\laravel\homestead

2.4 Git

安装Git的目的是使用Git Bash,homestead的启动脚本是bash shell,windows下面使用Git Bash正好。

点击这里下载,然后安装。安装完毕就可以使用了。

3. 环境启动

3.1 使用vagrant添加homestead镜像文件

vagrant box add laravel/homestead

选择virtualbox作为provider。

下载的虚拟机,位于C:\Users\benjamincao\VirtualBox VMs\homestead
注意虚拟机文件较大,下载需要较长时间,可以直接拷贝后,添加到vagrant中。

vagrant box add laravel/homestead file:///d:/hbox/virtualbox.box

3.2 生成rsa key

通过ssh登录homestead需要这个。

打开Git Bash,这是一个比较完备的Windows下的shell工具。在运行homestead的命令的时候都需要在这个bash中运行。

ssh-keygen.exe  -t rsa -C "caojianghui@carnetmotor.com"

3.3 配置并启动homestead

cd AppData/Roaming/Composer/vendor/laravel/homestead/
homestead init

生成homestead的配置文件,位于C:\Users\benjamincao\.homestead\Homestead.yaml

homestead edit

使用编辑器打开创建的配置文件。

---
# 虚拟机配置。
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

# 共享文件夹配置,map是本地文件夹,此处修改为本地项目文件夹;to是虚拟机的文件夹,一般不需要修改,因为homestead中的nginx的配置也是如此。
folders:
    - map: ~/Code
      to: /home/vagrant/Code

# nginx的配置。需要在本地hosts中添加域名的解析。
sites:
    - map: homestead.app
      to: /home/vagrant/Code/public

# mysql的数据库配置
databases:
    - homestead

# 这个不知道是干什么用的,猜测是环境变量设置。
variables:
    - key: APP_ENV
      value: local

一个可用的配置示例:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: c:/Users/benjamincao/.ssh/id_rsa.pub

keys:
    - c:/Users/benjamincao/.ssh/id_rsa

folders:
    - map: D:/workspace/ERP/trunk
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

variables:
    - key: APP_ENV
      value: local

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 93000
#       to: 9300
#     - send: 7777
#       to: 777
#       protocol: udp

启动homestead

homestead up

3.4 登录说明

登录主要包括ssh的登录和mysql的登录。

3.4.1 ssh登录

homestead ssh

我这里在使用homestead ssh时,总是会出现屏幕卡死的情况,推荐使用putty登录。
初始用户名密码  vagrant / vagrant  

3.4 2 mysql密码

homestead  / secret
root / secret  

3.5 高级配置

3.5 增加新的网站

  • 方法一
    homestead.yaml中添加站点配置。然后再homestead目录执行命令vagrant provision
    vagrant provision这个命令是有破坏性的,它会重新构建数据库

  • 方法二
    ssh登录homestead后,执行serve命令。

    serve domain.app /home/vagrant/Code/path/to/public/directory 80

4. 命令详解

4.1 homestead命令

命令解释
up启动homestead
halt停止homestead
init创建初始化的homestead.yaml
edit编辑homestead.yaml
suspend挂起homestead
resume继续挂起的homestead
ssh通过ssh登录homestead
run通过ssh在homestead上运行命令
status获取homestead的状态
list列表命令
help显示命令的帮助
provision重新配置homestead
destory销毁homestead
update更新homestead镜像


在 1.3 composer 的安装中最好使用翻墙工具进行翻墙后安装,避免一直提示 “Connection Error [ERR_CONNECTION]: Unable to connect to getcomposer.org ...” 错误





在 2.3 homestead中

直接使用composer安装时,最好在composer.json中加上

技术分享

避免错误:

技术分享

 
 

如果homestead up的时候,一直提示下面的错误

技术分享

解决:确保CPU开启了Virtualization Technology(VT)虚拟化支持。针对Intel的CPU,可在开机时按住相应的功能键进入BIOS,确认Intel Virtual Technology配置为enable。



错误:技术分享

执行以下步骤:

1、删除C:\Users\Carnet Motors\VirtualBox VM目录下的所有文件

2、在CMD运行如下命令技术分享



新版本安装不能直接 homestead init 而是要使用

bash init.sh



~ homestead up
Bringing machine ‘default‘ up with ‘virtualbox‘ provider...
==> default: Box ‘laravel/homestead‘ could not be found. Attempting to find and install...    default: Box Provider: virtualbox    default: Box Version: <= 0.3.0

打开C:\Users\Carnet Motors\AppData\Roaming\Composer\vendor\laravel\homestead\scripts\homestead.rb文件 把 

config.vm.box_version = settings["version"] ||= "<= 0.3.0" 改为 config.vm.box_version = settings["version"] ||= ">= 0.3.0"


Laravel集成开发环境配置


推荐阅读
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • JavaScript 中引号的多层嵌套使用技巧
    本文详细介绍了在 JavaScript 编程中如何处理引号的多级嵌套问题,包括双引号、单引号以及转义字符的正确使用方法。 ... [详细]
  • 解决UIScrollView自动偏移问题的方法
    本文介绍了一种有效的方法来解决在使用UIScrollView时出现的自动向下偏移的问题,通过调整特定的属性设置,可以确保滚动视图正常显示。 ... [详细]
  • 如何高效渲染JSON数据
    本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • JavaScript 页面卸载事件详解 (onunload)
    当用户从页面离开时(如关闭页面或刷新页面),会触发 onunload 事件,此时可以执行预设的脚本。需要注意的是,不同的浏览器对 onunload 事件的支持程度可能有所不同。 ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
author-avatar
ANANREMEMBERO38_810
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有