在 Windows 中安装 Laravel 5.1.X

1、准备工作

1.1 PHP集成环境

这里我们使用的是XAMPP,最新版下载地址:PHP 5.5.27 版(32位) | PHP 5.6.11 版(32位)。这两个版本的XAMPP都不再支持Windows XP操作系统,这意味着你需要更高版本的Windows操作系统。

注意:由于Laravel 5.1要求PHP 5.5.9+(含)版本,所以要针对该PHP版本要求选择合适的XAMPP。

1.2 安装Composer

Windows下最新版本Composer下载:Composer-Setup.exe

安装完成后,如果Composer安装包安装/更新缓慢,可以配置使用国内镜像进行包依赖的安装和升级,具体可参考这篇文章《Composer中国全量镜像》。

PS:想当年Composer安装慢如牛,一个更新需要几个小时,不过现在明显感觉速度快了好多,不需要设置国内镜像,也可以顺利进行操作。

1.3 配置系统路径

要在控制台中使用composer命令,需要将Composer及PHP的可执行文件(.exe/.bat)所在目录配置到系统环境变量Path中。PHP对应的php.exe在XAMPP安装目录中找,Composer对应的composer.bat文件所在目录默认为C:\ProgramData\ComposerSetup\bin。这里不再赘述。

1.4 其他要求

PHP必备扩展:OpenSSL、PDO、Mbstring、Tokenizer。检查下这几个PHP扩展是否已安装,如果没有安装需要进行安装。

安装完成后重新启动XAMPP。

2、使用Composer安装Laravel

以上准备工作做好后,接下来正式开始安装新的Laravel应用。首先我们直接通过Composer安装Laravel。

进入XAMPP安装目录的htdocs文件夹:

cd /path/to/xampp/htdocs

在该目录下,执行如下Composer命令:

composer create-project laravel/laravel --prefer-dist

即可在该目录中安装一个目录名的laravel的新的Laravel应用,如果你想指定自定义的安装目录名,如laravelapp,则使用如下命令即可:

composer create-project laravel/laravel laravelapp --prefer-dist

如果安装过程中报错:

[RuntimeException]
Could not load package classpreloader/classpreloader in http://packagist.org: [UnexpectedValueException] Could not parse version constraint ^1.2.2: Invalid version string "^1.2.2"

则表示需要更新Composer:

composer self-update

执行完更新后再次执行安装命令即可。

通过Composer安装Laravel

完成安装需要一定时间,等待安装完成后,即可在浏览器中通过http://localhost/laravelapp/public来访问新安装的Laravel应用:

在浏览器中访问新安装的Laravel应用

当然你也可以配置虚拟主机通过域名来访问该应用,比如这里我配置虚拟主机域名是http://laravel.app

在浏览器中访问新安装的Laravel应用

对应Apachehttpd-vhosts.conf配置如下:

<VirtualHost *:80>
    DocumentRoot "E:/xampp/htdocs/laravelapp/public"
    ServerName laravel.app
    ErrorLog "logs/laravelapp-error.log"
    CustomLog "logs/laravelapp-access.log" common
</VirtualHost>

注意:在你自己的配置文件中需要将DocumentRoot设置为自己的Laravel安装目录。

3、使用Laravel安装器安装Laravel

首先通过如下命令安装Laravel安装器:

composer global require "laravel/installer=~1.1"

安装Laravel安装器

确保laravel.bat所在目录(默认是C:\Users\用户名\AppData\Roaming\Composer\vendor\bin,将”用户名”换成你的当前用户名)位于系统路径中,否则将不能调用laravel命令。

接下来,就可以通过如下命令安装新的Laravel应用了,比如我们还是创建一个名为laravelapp的应用:

laravel new laravelapp

使用这种方法创建Laravel应用要比直接使用Composer安装要快得多:

使用Laravel安装器安装:Laravel

同样可以使用上面配置的http://laravel.app访问刚刚安装的Laravel应用:

在浏览器中访问新安装的Laravel

4、使用Laravel一键安装包

如果你想要略过上面使用Composer或Laravel安装器安装的繁琐过程,而直接使用一个现成的、已安装好依赖的Laravel包,可点击下面的下载链接下载5.1.4版本的Laravel包:

Laravel 5.1.4 版本一键安装包

其实就是将我们通过上面两种方式生成的Laravel应用打个包而已。经测试有效:

在浏览器中访问新安装的Laravel

注意:为安全起见,下载一键安装包后,最好进入应用目录执行php artisan key:generate命令重新生成应用APP_KEY。

学院君 has written 703 articles

资深PHP工程师,Laravel学院院长

47 thoughts on “在 Windows 中安装 Laravel 5.1.X

  1. 李文涛 says:

    cmd 里面输入 composer出现这个怎么处理 [SeldJsonLintParsingException] “C:ProgramDataComposerSetupbincomposer.bat” does not contain valid JSON Parse error on line 1: @echo OFF:: in case ^ Expected one of: ‘STRING’, ‘NUMBER’, ‘NULL’, ‘TRUE’, ‘FALSE’, ‘{‘, ‘[

  2. Yang-Liu2015 says:

    我用的是laravel 5.1.11一键安装包安装的,然后学习了一部分,为什么我感觉laravel的框架目录结构有些混乱啊?请教学院君,我也看了其他的一些目录结构,跟这个貌似有点不一样

  3. Yang-Liu2015 says:

    E:xampphtdocs>composer create-project laravel/laravel –prefer-distInstalling laravel/laravel (v5.2.31) – Installing laravel/laravel (v5.2.31) Loading from cacheCreated project in E:xampphtdocslaravel> php -r “copy(‘.env.example’, ‘.env’);”Loading composer repositories with package information [ComposerDownloaderTransportException] Your configuration does not allow connections to http://packagist.org/packa ges.json. See https://getcomposer.org/doc/06-config.md#secure-http for deta ils.请问安装laravel的时候显示这个错误,学院君帮帮忙

  4. 再见东坡 says:

    我安装composer 的过程中,在cmd里面执行composer相关命令时,都会弹出窗口,”无法启动此程序,因为计算机中丢失php5.dll 尝试重新安装该程序以解决此问题”。。。。我使用的的apache,php5.6 的 Thread Safe 版本,该版本中只有php5ts.dll这个文件(在Non Thread Safe版本的php才有php5.dll这个文件)。这个有什么好的解决办法吗? 即使我安装composer和laravel都成功了,还是会继续弹这个窗口

  5. 雅痞🏂 says:

    我在使用Laravel安装器安装Laravel时遇到了问题。 我成功的安装好了composer,设置好了环境变量,成功完成了laravel安装程序的本地下载,即在cmd里成功完成了(composer global require “laravel/installer​”)。也设置了国内镜像(执行了composer config -g repo.packagist composer https://packagist.phpcomposer.com)。在最后一步,执行laravel new project 时出现了报错。
    curl error 7 failed connent to cabinet.laravel.com:80; no error

    经过搜索说还是因为被墙了,解决方法是使用国内全局镜像。但我已经执行了使用国内全局镜像的代码了。为何不能从国内镜像下载呢?

  6. 道集 says:

    首先感谢学院君的奉献! 我用composer新建项目后,在执行项目时,报如下错误“Warning: require(F:xampphtdocscmslaravelappbootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in F:xampphtdocscmslaravelappbootstrapautoload.php on line 17”,请问这是什么原因呢

发表评论

标记为*的字段是必填项(邮箱地址不会被公开)

你可以使用这些HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>