laravel 安装的 homestead 有人安装成功过吗

基于 Laravel 开发博客应用系列 —— Homestead 和 Laravel 安装器 - 推酷
基于 Laravel 开发博客应用系列 —— Homestead 和 Laravel 安装器
工欲善其事,必先利其器。在正式开始开发博客应用之前,我们先来看看两个之前安装好的Composer工具:Homestead 和Laravel 安装器。
1、Homestead
从主机操作系统的控制台中(Windows 中被称作命令提示符,Linux 中被称作终端),你可以轻松通过不带参数的 homestead 命令查看所有有效的 Homestead 命令:
日常最经常使用的命令恐怕非启动 Homestead 虚拟机的 homestead up 莫属了。
2、常用 Homestead 命令概览
下面是常用的 Homestead 命令说明:
homestead up :该命令用于启动 Homestead 虚拟机,如果加上 --provision 选项那么添加的新站点会发布到虚拟机上。
homestead halt :关闭 Homestead 虚拟机。
homestead suspend :暂停 Homestead 虚拟机。
homestead resume :恢复暂停的 Homestead 虚拟机。
homestead edit :编辑 Homestead.yaml 文件,这会使用系统中与 .yaml 文件关联的任意编辑器。
homestead status :查看当前 Homestead 虚拟机的状态。
3、查看 Homestead.yaml
Laravel Homestead 的配置设置包含在 Homestead.yaml 文件中,该文件位于用户目录的 .homestead 目录下。该文件内容如下:
ip: &192.168.10.10&
memory: 2048
authorize: ~/.ssh/id_rsa.pub
- ~/.ssh/id_rsa
- map: E:/Homestead
to: /home/vagrant/Code
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
下面是上述每个配置的详细说明:
ip :用于访问该虚拟机的内部 IP
memory :该虚拟机可以使用多少内存
cpus :该虚拟机可以使用的 CPU 核数
authorize :指向你的公共 SSH Key
keys :私有 SSH Key
folders :共享文件夹,这是主机和虚拟机之间共享的文件夹,你在主机下对该文件夹及其子文件(夹)的任何修改都会同步到虚拟机中
sites :站点列表(修改后每次运行 homestead up –provision 时都会重新设置)
databases :Homestead 自动创建的数据库
variables :在 homestead 环境中有效的变量
现在,除了 databases 配置外对其他配置不要做任何修改:
192.168.10.10
数据库主机
数据库端口
数据库用户名
数据库密码
5、在 Homestead 虚拟机中安装软件
如果你想要在 Homestead 虚拟机中安装新软件,可以使用 apt-get 。例如,如果想要安装 unzip ,可使用如下命令:
vagrant@homestead:~$ sudo apt-get install unzip
6、日常工作流
homstead up —— 启动 Homestead 虚拟机
homestead ssh 或者 PuTTY —— 使用 SSH 连接到 Homestead 虚拟机,直接访问文件以及执行 Artisan 命令
编写项目代码
homestead halt —— 一天工作完成了,可以选择使用 halt 命令关闭虚拟机
7、六步创建一个新的 Laravel 项目
按照下面的步骤来,只需要六步就可以轻轻松松开始一个新的 Laravel 5.1 应用。
我们将要创建的应用命名为 test.app ,项目代码存放在 test 目录下。
1)第一步:创建应用骨架
使用 Laravel 安装器(之前安装的 laravel/installer )轻松创建新项目的骨架:
E:\Homestead&laravel new test
如果这条命令抽风,还可以直接使用 Composer 创建项目:
E:\Homestead&composer create-project laravel/laravel test --prefer-dist
2)第二步:配置 web 服务器
编辑 Homestead.yaml 文件的 sites 部分如下:
- map: test.app
to: /home/vagrant/Code/test/public
然后运行 homestead provision 重新启动 Homestead。
3)第三步:添加主机到 hosts 文件
由于 test.app 不存在于 DNS 中(通过万网等网站购买的域名才会在其中),所以需要将其添加到本地的 hosts 文件(这里需要提说明的一点是当我们在浏览器中访问某个域名时,首先会从本地 hosts 文件找与该域名匹配的 IP, hosts 没有匹配记录才去 &DNS 中找,这也是为什么我们购买域名后需要解析域名到 IP 的缘故,其实最终走的都是 IP,搞个域名是为了好记而已)。在 &Linux 或 OS X 中,编辑 /etc/hosts ,而在 Windows 中,该文件位于 C:\Windows\System32\drivers\etc\hosts 。在 hosts 文件中将 test.app 指向 Homestead.yaml 中指定的 IP 地址:
192.168.10.10 test.app
注:Windows下需要管理员账户才能编辑该文件。Linux 或 OS X 需要使用 sudo 命令。
Linux &或 OS X 编辑 hosts 文件方法:
sudo vi /etc/hosts
4)第四步:使用 NPM 本地安装依赖
为了后续正常使用 Gulp,必须先本地安装所有必须的 npm 模块。如果你不使用 Gulp 可以跳过这一步。
回到主机项目根目录并在命令行中执行如下代码:
E:/Homestead/test&npm install
以上命令会本地安装所有 Gulp 需要的 npm 模块到项目根目录下的 node_modules 目录。
如果安装过程中报错(Windows):
MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”
需要在 Windows 控制面板-&程序-&启用或关闭Windows功能中开启 .NET Framework 相关功能:
5)第五步:创建应用数据库
如果你的应用需要一个数据库,可以在 Homestead 中使用 mysql 命令轻松创建:
$ mysql --user=homestead --password=secret
当然,你也可以在本地主机通过 MySQL 客户端软件去创建该数据库:
数据库创建完成后,编辑项目根目录下的 .env 文件修改数据库相关配置:
DB_DATABASE=homestead
DB_DATABASE=test
很简单吧。接下来你就可以创建表、迁移表了,这在后续章节中会提到。
6)第六步:在浏览器中测试
在浏览器中访问 http://test.app:8000 ,即可访问应用首页。
8、其它 Homestead 知识
在主机操作系统中编辑源代码
尽管我们在之前章节中已经提到这一点,但是重要的事情说三遍!永远在本地主机编辑源代码,通过神奇的共享文件夹,你在本地项目目录下所做的任何修改会立即同步到 Homestead 虚拟机中。
使用 .homestead/aliases 文件
每一次通过 homestead up --provision 或 homestead provision 重新发布 Homestead, .homestead/aliases 文件都会更新 &Homestead 虚拟机中的别名。
在这里可以方便的添加别名、方法甚至是环境变量。
保持 Homestead 虚拟机处于最新状态
下面两个命令就可以保持 Ubuntu 操作系统( Homestead 虚拟机基于 Ubuntu14.04 )处于最新状态:
$ sudo apt-get update
$ sudo apt-get upgrade
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致Laravel Homestead 2.0 正式发布了安装Homestead vagrant box
Homestead是一个由Laravel官方维护的Vagrant &box&。它基于Ubuntu 14.04,把一个LNMP环境、PHP开发常用的软件包和PHP模块“打包”在了一起,是我们部署PHP开发环境最“爽”的方式之一。作为在PHP社区最受欢迎的Framework之一,Laravel当然不会错过PHP 7版本的Homestead。接下来,我们就基于Homestead,构建一个单独用于测试PHP 7的Vagrant box。
开始前,需要安装两个软件:
: 开发环境将会部署和运行在一个Virutalbox虚拟机里;
:&用来管理和启动Homestead的工具;
先下载并安装上它们,安装之后,我们需要把Homestead&box下载到本地。打开系统的Terminal,运行下面的命令:
vagrant&box&add&laravel/homestead-7
之后选1,再之后,就是安静的等待homestead下载完成了。
注意:如果使用这种方式安装失败,可以先,加入下载到了/home/virtualbox.box,然后运行命令即可,关于vagrant的使用方法可以参考这篇文章
vagrant&box&add&laravel/homestead-7&/home/virtualbox.box
完成之后,我们使用:
vagrant&box&list
来查看安装在本地的vagrant box。
安装Homestead部署脚本
执行下面的命令,clone&homestead部署项目到本地:
git&clone&-b&php-7&/laravel/homestead.git&Homestead7
之后,进入Homestead7目录,执行初始化脚本:
cd&Homestead7
bash&init.sh
完成后,在~/.homestead目录下,就会有一个Homestead.yaml的文件。今后,我们所有的LNMP项目配置,都统一在这个文件中进行。
LNMP项目设置
在启动homestead之前,我们要先进行一些设置。首先,在你喜欢的地方新建一个目录php7,用来存放我们编写的PHP 7脚本。
mkdir&php7
接下来,我们打开~/.homestead/Homestead.yaml,把刚才新建的代码目录,“添加”到homestead,变成一个站点。
在Homestead.yaml里,我们需要修改上图中红框标记的两个地方:
folders:把Host上的源代码目录同步到virtualbox虚拟机里面的目录;
sites: map指定站点的servername;to指定HTTP root;
至于其他部分,我们暂时就不需要修改了,保存文件后,退出编辑器。
Vagrant up
一切都配置完了,我们在之前的新建的php7目录添加一个测试脚本demo.php:
&&?php&phpinfo();&?&
之后,进入Homestead7目录,执行vagrant up命令,启动homestead-7 box
成功启动之后,我们之前添加的demo.php就会被自动同步到我们在folders中配置的目录,并且homestead会自动添加我们在sites中定义站点的nginx配置文件。
接下来,我们在/etc/hosts中添加一条解析记录:
192.168.10.10&php7.app
打开浏览器,访问http://php7.app/demo.php,如果你可以看到标志性的php info页面,恭喜你,homestead已经正常工作了。
编译安装Xdebug
成功部署PHP 7后,接下来我们要解决代码调试的问题,对于稍微复杂一些的项目,使用var_dump()打印变量调试非常不方便,并且不利于我们动态理解PHP代码的执行过程。而这,就是Xdebug要解决的问题。
在经历了很长一段时间后,Xdebug从2.4.0版本开始,支持调试PHP 7代码,接下来,我们采用源码编译的方式进行安装。
首先,我们在Homestead7目录,执行vagrant ssh登录到Homestead虚拟机;
其次,下载并解压Xdebug源代码:
wget&http://xdebug.org/files/xdebug-2.4.0rc1.tgz
tar&xvzf&xdebug-2.4.0rc1.tgz
接下来,进入解压缩的目录,使用phpize7.0生成配置文件、configure、make、make install:
cd&xdebug-2.4.0RC1
configure&--enable-xdebug
sudo&make&install
成功编译安装后,Xdebug会显示编译完成的.so文件目录,我们要记录下这个目录,让当前的PHP环境支持Xdebug调试。
启用Xdebug
首先在/etc/php/mods-available目录里创建一个Xdebug配置文件xdebug.ini,注意把zend_extension的目录替换成你自己的.so目录:
zend_extension=&/usr/lib/php//xdebug.so&
xdebug.remote_enable&=&1
xdebug.remote_connect_back&=&1
xdebug.remote_port&=&9000
xdebug.max_nesting_level&=&500
接下来,在当前PHP 7&CLI和FPM的conf.d目录创建对应的符号链接:
sudo&ln&-snf&/etc/php/mods-available/xdebug.ini&/etc/php/7.0/cli/conf.d/20-xdebug.ini
sudo&ln&-snf&/etc/php/mods-available/xdebug.ini&/etc/php/7.0/fpm/conf.d/20-xdebug.ini
最后,我们重启php7.0-fpm,让新的配置生效:
&sudo&service&php7.0-fpm&restart
我们有很多方式来确认Xdebug已经正常工作了:
在Terminal执行php -m,在输出结果最后的[Zend Modules]部分,可以看到有Xdebug;
执行php -i |grep xdebug,在输出的结果中,可以看到有xdebug support =& enabled;
访问我们之前的http://php7.app/demo.php,在Zend Engine图片的旁边,可以找到Xdebug标志;Laravel的容器Vagrant+Homestead+Composer+Yaml开发环境搭建视频课程
Laravel的容器Vagrant+Homestead+Composer+Yaml开发环境搭建视频课程
适用人群: 想掌握Linux下容器开发环境的所有人。
付费特权:
加入购物车
下载学院APP缓存视频离线看
相关路线图
套餐价:929金币
原价:1331金币
[免费观看]
你还在用Wamp?XAMPP?还是LNMP开发PHP工程?如果你还没体验过当前火爆的不行不行的容器开发环境,你真Out了!
目前国内网站教程有N多坑,小V哥也是折腾了3个昼夜错过了好几次看女主播的机会才把这些坑填平,带着大家把容器环境搭建好。
小V哥告诉大家:开发基于Vagrant容器,生产部署基于Docker是当前和将来各大公司采用的模式。
搭建容器开发环境的框架,Step-by-Step地教您在Linux环境下安装最新版VirtualBox 和Vagrant。
如果Homestead是法拉利跑车车的驾驶座和仪表盘,Vagrant 是车的外部框架(车身),而 VirtualBox 是引擎。一旦 Vagrant 和 VirtualBox 安装好了之后,就不再需要关心它们。
由于我们在“墙”内,所有目前很多网站上介绍的在线安装Homestead盒子的方法都是没法实现的。
小V哥几经折腾独创的homestead box本地安装方法真正适合国情。
Vagrant常用命令及如何启动Homestead盒子为我们服务。
Composer安装Laravel本身和各种php包。
而Linux上安装Composer本身就有很多技巧,在这里小V哥一步一步教您怎么做。
使用Composer生成Laravel工程和管理包依赖。
讲解如果通过配置Yaml文件来动态配置Vagrant Homestead盒子。讲解Vagrant虚拟机的文件同步原理,如何为新建网站添加域名和配置代码映射目录,vagrant的常用命令。
老师的讲解表达(0)
老师的答疑服务(0)
课程的更新速度(0)
您可能感兴趣的课程
学员评分:4.9分
学员评分:4.9分
学员评分:4.9分
学员评分:5分
现任互联网公司CTO,计算机硕士,PHP资深讲师,微软高级工程师
好评率:100%
开课时间:
374人学习过
学习过此课程的人还学习了
学员评分:5.1分
学员评分:暂无
学员评分:暂无
学员评分:暂无
学员评分:4.3分
51CTO学院产品建议群:PHP7 来了,教你如何配置 Xdebug 和 Homestead 环境 - 掘金
阅读 2540收藏 52 分享:稀土君 @ 稀土这篇教程详细的介绍了 Xdebug 和 Homestead 的开发环境搭建,适合想尝鲜 PHP7 的朋友。
在经历了13个RC版本之后,PHP 7终于来了。在我们上手评估PHP 7的新特性之前,我们要先建立一个独立的开发环境。
Homestead - A full-feature PHP 7 box
安装Homestead vagrant box
Homestead是一个由Laravel官方维护的Vagrant "box"。它基于Ubuntu 14.04,把一个LNMP环境、PHP开发常用的软件包和PHP模块“打包”在了一起,是我们部署PHP开发环境最“爽”的方式之一。作为在PHP社区最受欢迎的Framework之一,Laravel当然不会错过PHP 7版本的Homestead。接下来,我们就基于Homestead,构建一个单独用于测试PHP 7的Vagrant box。
开始前,你需要在你的操作系统安装两个软件:
: 我们的开发环境将会部署和运行在一个Virutalbox虚拟机里;
: 用来管理和启动Homestead的工具;
如果你对它们还并不熟悉也没关系,先下载并安装上它们就好了。安装之后,我们需要把Homestead box下载到本地。打开系统的Terminal,运行下面的命令:
vagrant box add laravel/homestead-7
之后选1,再之后,就是安静的等待homestead下载完成了。完成之后,我们使用:
vagrant box list
来查看安装在本地的vagrant box。
如果可以看到红框里的部分,就表示已经下载成功了。
安装Homestead部署脚本
执行下面的命令,clone homestead部署项目到本地:
git clone -b php-7 /laravel/homestead.git Homestead7
之后,进入Homestead7目录,执行初始化脚本:
cd Homestead7
bash init.sh
完成后,在~/.homestead目录下,就会有一个Homestead.yaml的文件。今后,我们所有的LNMP项目配置,都统一在这个文件中进行。
LNMP项目设置
在启动homestead之前,我们要先进行一些设置。首先,我们新建一个目录php7,用来存放我们编写的PHP 7脚本。
mkdir php7
接下来,我们打开~/.homestead/Homestead.yaml,把刚才新建的代码目录,“添加”到homestead,变成一个站点。
在Homestead.yaml里,我们需要修改上图中红框标记的两个地方:
folders:把Host上的源代码目录同步到virtualbox虚拟机里面的目录;
sites: map指定站点的servername;to指定HTTP root;
至于其他部分,我们暂时就不需要修改了,保存文件后,退出编辑器。
Vagrant up
一切都配置完了,我们在之前的新建的php7目录添加一个测试脚本demo.php:
&?php phpinfo();
之后,进入Homestead7目录,执行vagrant up命令,启动homestead-7 box!
成功启动之后,我们之前添加的demo.php就会被自动同步到我们在folders中配置的目录,并且homestead会自动添加我们在sites中定义站点的nginx配置文件。
接下来,我们在/etc/hosts中添加一条解析记录:
192.168.10.10 php7.app
打开浏览器,访问http://php7.app/demo.php,如果你可以看到标志性的php info页面,恭喜你,homestead已经正常工作了。
Xdebug - Debug PHP code step by step
编译安装Xdebug
成功部署PHP 7后,接下来我们要解决代码调试的问题,对于稍微复杂一些的项目,使用var_dump()打印变量调试非常不方便,并且不利于我们动态理解PHP代码的执行过程。而这,就是Xdebug要解决的问题。
在经历了很长一段时间后,Xdebug从2.4.0版本开始,支持调试PHP 7代码,接下来,我们采用源码编译的方式进行安装。
首先,我们在Homestead7目录,执行vagrant ssh登录到Homestead虚拟机;
其次,下载并解压Xdebug源代码:
wget http://xdebug.org/files/xdebug-2.4.0rc1.tgz
tar xvzf xdebug-2.4.0rc1.tgz
接下来,进入解压缩的目录,使用phpize7.0生成配置文件、configure、make、make install:
cd xdebug-2.4.0RC1
configure --enable-xdebug
sudo make install
成功编译安装后,Xdebug会显示编译完成的.so文件目录,我们要记录下这个目录,让当前的PHP环境支持Xdebug调试。
启用Xdebug
首先,我们为Xdebug创建一个配置文件,xdebug.ini,这里,注意把zend_extension的目录替换成自己的.so目录:
zend_extension=&/usr/lib/php//xdebug.so&
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.max_nesting_level = 500
之后,我们把xdebug.ini复制到/etc/php/mods-available目录。
接下来,在当前PHP 7 CLI和FPM的conf.d目录创建对应的符号链接:
sudo ln -snf /etc/php/mods-available/xdebug.ini /etc/php/7.0/cli/conf.d/20-xdebug.ini
sudo ln -snf /etc/php/mods-available/xdebug.ini /etc/php/7.0/fpm/conf.d/20-xdebug.ini
最后,我们重启php7.0-fpm,让新的配置生效:
service php7.0-fpm restart
我们有很多方式来确认Xdebug已经正常工作了:
在Terminal执行php -m,在输出结果最后的[Zend Modules]部分,可以看到有Xdebug;
执行php -i |grep xdebug,在输出的结果中,可以看到有xdebug support => enabled;
访问我们之前的http://php7.app/demo.php,在Zend Engine图片的旁边,可以找到Xdebug标志;
设置好PHP 7和Xdebug后,我们需要一个IDE来配置和使用它们。这里,我们使用PHPStorm,大家可以。
安装好之后,我们使用PHPStorm打开之前创建的php7目录,我们需要为我们的项目配置一下服务器环境。点击“Run / Edit configurations...”。在弹出的对话框里,点击左上角的+,选择PHP Web Application。
在右侧界面中,设置好Name之后,点击红色箭头位置的按钮来设置远程服务器:
这里的远程服务器就是指Homestead启动的Virtualbox,点击左上角的+,之后,填入相应的信息(一定要设置好path mapping):
最后,基于我们填写的Server Host,在Start Url填写我们要访问的文件。这里我们写之前创建的demo.php,PHPStorm会自动为我们生成默认的访问链接。
一切都设置好,点击OK按钮。接下来为了测试调试功能,我们修改一下之前的demo.php:
$foo = 10;
$bar = 20;
$compare = $foo
之后,点击$foo左侧的区域,设置一个断点。
点击菜单"Run / Debug 'php7demo...'",
如果一切顺利,PHPStorm会启动Chrome,并且自动停在demo.php设置断点的地方。
这样,你就可以点击红色箭头位置的按钮,单步调试自己的PHP 7代码了。
Package all of them into a container
虽然部署看一个可调式的PHP 7环境并不难,但是按照上面一步步走来总也要费不少功夫,在理解了具体我们都需要做哪些工作之后,我们给大家提供一个更简单的部署PHP 7开发环境的办法。
泊学给大家提供了一个,和Homestead一样,我们打包了一个最新的LNMP环境、一个可调试的PHP 7版本以及兼容Laravel常用的PHP modules。
这仅仅是一个便于构建开发环境的方法,我们没有采用Docker倡导的单容器单进程的方式,不要在生产环境使用这个container。针对Docker部署问题,我们会基于Laravel单独提供一个Docker自动化部署的视频系列。
打开终端,执行下面的命令:
docker pull boxueio/php7-with-xdebug
等Docker下载完,我们执行(把[your source dir]替换成你自己的PHP源代码目录):
docker run -d --name php7 -p 8088:80 -p
-v [your source dir]:/var/www/php7.app php7-with-xdebug
之后,Docker会返回一个container ID,我们使用docker ps命令,就可以查看正在运行的容器了。接下来,只要在/etc/hosts中添加一个php7.app的解析记录,我们就可以通过http://php7.app:8088,访问PHP 7的开发环境了。
相关热门文章

我要回帖

更多关于 laravel 成功提示 的文章

 

随机推荐