基于 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 命 ...
随机推荐
- codevs 3369 膜拜(线型)
3369 膜拜 http://codevs.cn/problem/3369/ 题目描述 Description 神牛有很多…当然…每个同学都有自己衷心膜拜的神牛.某学校有两位神牛,神牛甲和神牛乙.新入 ...
- HBase基本概念
HBase是什么 HBase构建在 HDFS 之上的分布式列式键值存储系统.HBase内部管理的文件全部存储在HDFS中. HBase VS HDFS HDFS适合批处理场景 不支持数据随机查找 不适 ...
- Jdbc druid数据库连接池
//测试类package druid; import util.JdbcUtilsDruid; import java.sql.Connection; import java.sql.Date; im ...
- 【转】一个简单的WCF回调实例
代码下载:http://files.cnblogs.com/AlwinXu/CallbackService-master.zip 本文转自: http://adamprescott.net/2012/ ...
- 解析html与xhtml的神器——HTMLParser与SGMLParser
有时候你要把抓回来的数据进行提取,过大篇幅的html标签,你若使用正则表达式进行匹配的话,显然是低效的,这时使用python的HTMLParser模块会显得非常方便.据说还有个比较好用的解析器叫:Be ...
- c/c++ const 用法
概述 1. const有什么用途? 在 c程序中,const的用法主要有定义常量.修饰函数参数.修饰函数返回值等3个用处. 在c++程序中,它还可以修饰函数的定义体,定义类中某个成员为常态函数,即不改 ...
- TCP/IP 网络编程的理解
一.网络各个协议:TCP/IP.SOCKET.HTTP等 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程 ...
- 25、LinkedList特有方法
LinkedList特有方法 public void addFirst(E e)及addLast(E e) public E getFirst()及getLast() public E removeF ...
- Java NIO之拥抱Path和Files
Java面试通关手册(Java学习指南)github地址(欢迎star和pull):https://github.com/Snailclimb/Java_Guide 历史回顾: Java NIO 概览 ...
- JavaScript入门--慕课网学习笔记
JAVASCRIPT—(慕课网)入门篇 我们来看看如何写入JS代码?你只需一步操作,使用<script>标签在HTML网页中插入JavaScript代码.注意, <script&g ...