基于 Laravel 开发博客应用系列 —— 设置 Windows 本地开发环境
1、安装原生PHP
下载/解压 PHP
到 PHP 下载页下载最新版本的 PHP(如果使用 Laravel 5.1 的话需要 PHP 5.5.9+ 版本),解压下载的zip格式压缩文件到本地目录,比如E:\Php。
编辑 php.ini
打开命令行按照如下步骤创建php.ini文件:
C:\Users\Test>E:
E:\>cd Php
E:\Php> copy php.ini-development php.ini
然后在编辑 php.ini:
// 将
; extension_dir = "ext"
// 修改为
extension_dir = "ext" // 将
;extension=php_openssl.dll
// 修改为
extension=php_openssl.dll // 将
;extension=php_mbstring.dll
// 修改为
extension=php_mbstring.dll
现在,在 E:\php 目录下,可以执行 php 命令:

添加E:\Php到用户变量
1)打开Windows控制面板,在顶部右侧搜索框搜索”环境变量“:

2)点击”编辑账户的环境变量“:

3)双击PATH那一行然后将;E:\Php添加到弹出框的变量值中:

下一次打开命令行时,php.exe已经在用户变量中,可以在任何地方直接执行php命令而不需要指定绝对路径。
如果执行php命令时报错:

对应解决办法:http://jingyan.baidu.com/article/4f7d57129fa86e1a201927de.html。
2、安装 Node.js
我们将会在本地安装 Node.js 以便后续使用 gulp。
到 Nodejs 下载页下载 Windows 系统对应版本安装。

使用默认设置安装,安装完成后打开新的命令行使用如下命令检查安装是否成功:
全局安装gulp
npm install -g gulp
安装完成后检查gulp版本:

全局安装bower
npm install -g bower
安装完成后检查bower版本:

3、安装Composer
Composer是PHP包依赖管理器。

去 Composer 下载页下载 Windows 版本安装程序。使用默认设置安装,如果问你PHP安装路径,输入:
E:\Php\php.exe
安装完成后,关掉当前的命令行并打开一个新的,检查Composer版本验证是否安装成功:

安装过程中会将E:\Php从用户变量移动到系统变量,并添加C:\ProgramData\ComposerSetup\bin到系统路径。
4、安装GIT并设置SSH Key
在 Windows 中我们将会安装本地 Git 软件并只使用其提供的 Git Bash 设置 SSH Key,任何其它对git的使用都通过命令行实现。
安装Git
下载git安装器
到git下载页下载 Windows 版安装。
安装
运行下载的安装文件并一路选择默认选项直到这个页面:

确保选择“Use Git from the Windows Command Prompt”选项。
余下部分继续选择默认选项进行安装即可。
检查Git版本
关闭所有命令行窗口,然后打开一个新的命令行窗口,运行如下命令确保Git安装成功:

设置SSH Key
在 Windows 开始菜单找到 Git Bash 并运行,在打开的窗口中执行 ssh-keygen 命令,一路回车使用默认选项来设置SSH Key:
$ ssh-keygen -t rsa -C "your@email.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/LaravelAcademy/.ssh/id_rsa):
Created directory '/c/Users/LaravelAcademy/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
$
5、添加 Homestead Vagrant 盒子
下面我们会下载 Laravel Homestead Vagrant 盒子:
C:\Users\LaravelAcademy> vagrant box add laravel/homestead
==> box: Loading metadata for box 'laravel/homestead'
box: URL: https://vagrantcloud.com/laravel/homstead
这一步可能需要消耗较长时间,具体取决与你的网络连接速度。
6、安装 Homestead
使用 Composer 安装
现在让我们使用 Composer 安装 Homestead :
C:\Users\LaravelAcademy> composer global require "laravel/homestead=~2.0"
Changed current directory to C:\Users/LaravelAcademy/AppData/Roaming/Composer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing symfony/process (v2.7.7)
Downloading: 100% - Installing symfony/console (v2.7.7)
Downloading: 100% - Installing laravel/homestead (v2.1.8)
Downloading: 100% symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing psr/log (For using the console logger)
Writing lock file
Generating autoload files
更新系统变量
Composer 会将 Homestead 安装到 Composer 安装目录下的 vendor 目录。
为了从命令行可以直接访问homestead,将其安装路径添加到系统变量即可。和添加PHP路径到系统变量操作步骤一样,只是这一次添加的路径不一样而已:
C:\Users\YOU\AppData\Roaming\Composer\vendor\bin;vendor\bin
具体路径根据你的本地路径来。
注意:这里我们添加
vendor\bin到系统路径中,因为每一个Laravel项目都会包含这一目录,将其添加到系统变量后我们就可以在项目根目录下直接使用项目提供的依赖包。
验证Homestead安装
系统变量修改后需要重新打开新的命令行窗口才会生效,所以我们再一次关闭所有命令行窗口并打开一个新的,然后检查 Homestead 版本已验证是否安装成功:

初始化 Homestead
安装完 Homestead 并添加 Composer 的 bin 目录到系统变量后,需要初始化 Homestead :
C:\Users\LaravelAcademy> homestead init
Creating Homestead.yaml file...
Homestead.yaml file created at: C:\Users\LaravelAcademy\.homestead/Homestead.yaml
记住:一台机子上只需要初始化一次 Homestead 即可。
7、启动 Homestead VM
在第一次启动 Homestead 之前我们要创建一个 Code 目录用于存放项目文件,然后使用 homestead up 命令启动虚拟机:
E:> mkdir Code
E:> homestead up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
如果启动过程中出现报错信息:
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below. Command: ["hostonlyif", "create"] Stderr: 0%...
Progress state: E_FAIL
VBoxManage.exe: error: Failed to create the host-only adapter
VBoxManage.exe: error: Code E_FAIL (0x80004005) - Unspecified error (extended in
fo not available)
VBoxManage.exe: error: Context: "int __cdecl handleCreate(struct HandlerArg *,in
t,int *)" at line 66 of file VBoxManageHostonly.cpp
解决办法参考:在 Windows 上进行 Laravel Homestead 安装、配置及测试
现在 Homestead 虚拟机已经运行起来了,如果你关闭这个 Windows 命令行窗口,虚拟机仍然在后台运行,除非你在命令行中运行 homestead halt 命令才会关闭虚拟机。
你可以登录到 Homestead 虚拟机,但是在 Windows 系统中不能使用 homestead ssh,这里我们借助第三方软件 PuTTY 来登录到虚拟机。
8、使用 PuTTY 登录到 Homestead
Windows 系统并没有内置 SSH 客户端软件,因此我们需要下载一个并安装,推荐使用 PuTTY 通过 SSH 登录到虚拟机。
下载并安装 PuTTY
下载putty安装器,运行这个安装文件,一路使用默认设置即可。
保存 SSH Key
接下来在 Windows 开始菜单中找到 PuTTYgen 并点击运行,选择 Conversions 菜单然后点击 Import Key,进入之前设置 SSH Key 时id_rsa文件所在目录并选择该文件,然后点击“Save private key”按钮。如果你想要保存不带密码的key,在同一目录下选择 id_rsa.ppk 即可。
设置 Homestead PuTTY 会话
启动 PuTTY 并设置 Connection->SSH->Auth 私有 key 为刚刚创建的id_rsa.ppk,设置当前会话的主机名为vagrant@127.0.0.1,端口为2222,保存当前会话名为 homestead :

首次运行该会话的时候会弹出一个确认会话框,但之后登录到 Homestead 虚拟机就不再需要输入密码。
你还可以在桌面上创建一个该会话的快捷方式,该快捷方式链接指向"C:\Program Files (x86)\PuTTY\Putty.exe" -load homestead,我们将其命名为 Homestead。
修改 PuTTY 的字体
PuTTY 的默认字体是 Courier New,在我看来很丑,可以到 PuTTY 的 Windows->Appearance 配置中修改字体、尺寸和颜色等:

通过 PuTTY 连接到 Homestead
运行刚刚在 PuTTY 创建的 homestead 会话,登录到 Homestead 后界面显示如下:
Using username "vagrant".
Authenticating with public key "imported-openssh-key"
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-24-generic x86_64) * Documentation: https://help.ubuntu.com/
Last login: Tue Nov 24 15:46:46 2015
vagrant@homestead:~$
9、安装 Laravel 安装器
最后一步我们将会 Windows 上安装 Laravel 安装器。
还是使用 Composer 安装:
C:\Users\LaravelAcademy> composer global require "laravel/installer=~1.1"
Changed current directory to C:\Users/LaravelAcademy/AppData/Roaming/Composer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing guzzlehttp/promises (1.0.3)
Downloading: 100% - Installing psr/http-message (1.0)
Downloading: 100% - Installing guzzlehttp/psr7 (1.2.1)
Downloading: 100% - Installing guzzlehttp/guzzle (6.1.1)
Downloading: 100% - Installing laravel/installer (v1.2.2)
Downloading: 100% Writing lock file
Generating autoload files
由于我们在之前已经设置过了系统变量,这里 laravel 命令可以直接从命令行中运行,我们可以查看其版本:

好了,至此我们已经迈出了万里长征第一步 —— 成功在 Windows 上安装并设置好了本地开发环境,这将为我们后续使用 Laravel 5.1 开发博客应用打下坚实基础。
基于 Laravel 开发博客应用系列 —— 设置 Windows 本地开发环境的更多相关文章
- 基于 Laravel 开发博客应用系列 —— 设置 Linux/Mac 本地开发环境
1.不同 Linux 发行版本的区别 不同的 Linux 发行版本之间有一些细微区别,尤其是包管理器:CentOS 和 Fedora 使用 yum 作为包管理器,而Ubuntu 使用 apt,在 O ...
- 基于.NetCore开发博客项目 StarBlog - (18) 实现本地Typora文章打包上传
前言 九月太忙,只更新了三篇文章,本来这个功能是从九月初就开始做的,结果一直拖到现在国庆假期才有时间完善并且写文章~ 之前我更新了几篇关于 Python 的文章,有朋友留言问是不是不更新 .Net 了 ...
- 基于Laravel开发博客应用系列 —— 构建博客后台管理系统
一个完整的博客应用不能没有后台管理系统.所以在本节中我们将继续完善博客应用 —— 开发后台管理系统. 1.创建路由 在上一节十分钟创建博客项目中,已经设置过了 app/Http/routes.php, ...
- 基于 Laravel 开发博客应用系列 —— 项目必备软件安装
1.概述 通过本项目我们将会构建一个简单.清爽.优雅的博客系统,以及维护管理该博客的后台. 本项目源码公开在GitHub上:https://github.com/ChuckHeintzelman/l5 ...
- 基于Laravel开发博客应用系列 —— 使用Bower+Gulp集成前端资源
本节我们将讨论如何将前端资源集成到项目中,包括前端资源的发布和引入.本项目将使用 Bower 和 Gulp 下载和集成jQuery.Bootstrap.Font Awesome 以及 DataTabl ...
- 基于 Laravel 开发博客应用系列 —— 从测试开始(一):创建项目和PHPUnit
1.创建博客项目 我们将遵循上一节提到的六步创建一个新 Laravel 5.1 项目的步骤,创建本节要用到的博客项目 —— blog. 首先,在本地主机安装应用骨架: nonfu@ubuntu:~/C ...
- 基于Laravel开发博客应用系列 —— 十分钟搭建博客系统
1.创建文章数据表及其模型(0:00~2:30) 我们已经在上一节中为博客项目完成了大部分准备工作,现在首先要做的就是为这个项目创建一个新的文章表 posts及该表对应的模型类 Post,使用如下Ar ...
- 基于 Laravel 开发博客应用系列 —— 从测试开始(二):使用Gulp实现自动化测试
3.使用 Gulp 进行 TDD(测试驱动开发) Gulp 是一个使用 JavaScript 编写的自动化构建工具.用于对前端通用任务(如最小化.压缩.编译)进行自动构建.Gulp 还可以用来监控源代 ...
- 基于 Laravel 开发博客应用系列 —— Homestead 和 Laravel 安装器
1.Homestead 从主机操作系统的控制台中(Windows 中被称作命令提示符,Linux 中被称作终端),你可以轻松通过不带参数的homestead 命令查看所有有效的 Homestead 命 ...
随机推荐
- 2015/11/7用Python写游戏,pygame入门(7):碰撞检测
我们已经完成了飞机大战的大部分东西,但是游戏还是没有办法正式开玩,因为子弹并不能打掉飞机.只有完成了这一个工作,游戏才算基本成型. 今天的内容就非常简单了,就是做到这个碰撞检测,以及控制好子弹和飞机的 ...
- Visual Studio Code 教程之————入门篇
Visual Studio代码是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行,适用于Windows,macOS和Linux.它内置对JavaScript,TypeScript和Node.js ...
- Java中创建线程的三种方法以及区别
Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.Java可以用三种方式来创建线程,如下所示: 1)继承Thread类创建线程 2)实现Runnable接口创建线 ...
- linux shell 获取当前日期/时间
1. 当前日期 [root@Tomcat DFJR-ERP]# cur_date="`date +%Y-%m-%d`" [root@Tomcat DFJR-ERP]# echo $ ...
- What Does “Neurons that Fire Together Wire Together” Mean?
What Does “Neurons that Fire Together Wire Together” Mean? I’ve heard the phrase “neurons that fire ...
- R的农场 chebnear
评测传送门 Description最近,R 终于获得了一片他梦寐以求的农场,但如此大的一片农场,想要做好防卫工作可不是一件容易的事.所以 R 购买了 N 个守卫,分别让他们站在一定的位置上(守卫不可移 ...
- cdn_一些常用的cdn地址
https://code.jquery.com/jquery-3.3.1.jshttps://cdn.bootcss.com/jquery/2.1.4/jquery.min.js https://cd ...
- codepage 和 charset
codepage:简单地说,这是程序用于对字符进行编码的一个表.代码页是服务器的事情. 常见的三种codepage 简体中文 : 936 繁体中文 : 950 UTF-8 : 65001 如果你不想用 ...
- 移动端测试=== adb 无线连接手机
无线连接(需要借助 USB 线) 除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接——虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 ...
- souce insight出错 There was an error opening project
souce insight出错 There was an error opening project: "...": Options->Preferences->Fol ...