在win8.1下安装laravel5.1时碰到的坑不少,但总算搞掂,真有点不容易。

时间:2021-04-17 07:03:10
安装好php后,安装laravel的方法有如下几种。
1、先安装好composer, 再用composer下载资源并安装,命令如下:
composer create-project laravel/laravel your-project-name --prefer-dist

2、先用composer全局下载到composer的主目录,然后进入网站项目的上级目录运行laravel new project-name的方法安装,命令依次是:

composer global require "laravel/installer=~1.1"
laravel new project-name

3、下载laravel installer安装包解压到指定目录,或者自行设计composer.json文件放到指定目录,然后进入目录运行安装:

composer install
4、直接获取安正超同学的包,放到指定目录即可。
 
以上所有方法我都试过,虽然最后都成功了,但是过程都不顺利,都各有不同的问题需要解决(最后当然都解决了!)。下面我一一说一下。
1、除了最后一种方法,其他的方法都依赖了composer的使用,所以如果你使用第一种或者第二种,你都得要先安装和配置好composer,你可以跳到后面去看关于composer的安装和配置。
2、第一种方法是将laravel安装到当前目录的一个以项目名字为名称的子目录中,是一种最可靠的方法,当然前提是你的composer可以顺利连接到laravel的库repository。
第二种方法是将laravel的安装包文件下载到composer的主目录(见后),你需要运行目录中的vendor/bin/laravel命令来进一步安装一个新的laravel项目。
laravel new blog

注意,在这个地方,一般都会提示找不到laravel命令,官方的文档中提到,要将~/.composer/vendor/bin放到系统的PATH变量中去,这是一个坑,很多人不知道这个在哪里,其实是在composer的主目录中,composer的主目录可以通过composer config来查看,对于win8系统,这个目录默认是在C:\Users\MyUserName\AppData\Roaming\Composer\vendor\bin。

在敲入上述命令之后,很多情况下,都会非常慢,提示行一直显示application crafting...这样一个简短的信息,请一定要耐心等待,一般能够成功安装。

第四种方法不需要安装,但是你得在项目根目录下运行下面的代码生成一个KEY,才能访问到系统的主页。
php artisan generate:key

3、以上的所有方法,安装完成之后,如果你的系统是放在htdocs子目录blog中,那么都可以通过http://localhost/blog/public来访问。

在win8.1下安装laravel5.1时碰到的坑不少,但总算搞掂,真有点不容易。

如果通过在根目录下运行如下代码:
php -S localhost: -t public

那么你可以通过在浏览器中输入http://localhost:8888来访问主页。也可以通过如下命令来达到这个目的:

php artisan serve

这个命令默认将端口设置为8000,并自动把网站根目录设置为public,所以你可以通过http://localhost:8000就可以访问主页了。

在win8.1下安装laravel5.1时碰到的坑不少,但总算搞掂,真有点不容易。
有人认为总是带个端口,显得不方便,如果能改成一个域名就好了,没有问题,方法如下,首先通过apache来添加虚拟主机(推荐UPUPW),注意一定要将public目录设置为网站的目录,并设置一个虚拟域名(假若是blog.dev)指向它,接着找到系统的hosts文件,对win8.1,该文件位于:C:\windows\system32\drivers\etc下面,在里面添加一项如下:

127.0.0.1 blog.dev

这样不出意外的话,你可以通过访问http://blog.dev/来看到laravel的欢迎页面了!
在win8.1下安装laravel5.1时碰到的坑不少,但总算搞掂,真有点不容易。

但是,很多人到这一步之后,发现就出错,有两种情况,一种是出现空白页面,另一种是错误的提示信息。此时会发现在public目录下的其他php代码都可以访问,例如http://blog.dev/test.php,但是就不能显示laravel欢迎页面。这里真的是一个坑,出现空白,说明服务器的error信息没有被显示,可是之前通过http://localhost/blog/public是可以访问的!但是本人试过的确是这样,将php.ini中的

display_errors = Off

改为:

display_errors = On

这样,可以看到空白页变成了出错信息的页面,看到如下错误信息:Warning: require(): open_basedir restriction in effect.

进入http.conf文件或者http.vhosts.conf文件的open_basedir的值修改,很多LAMP组件会默认将open_basedir设置为与网站

根目录一致,但是laravel有点变态,这里必须设置为上级目录,即此处的blog目录。设置完毕之后,重启apache,错误终于消除了。

至此,完成了laravel5的安装问题,并且实现了本地虚拟主机的使用。

补充说说composer的几个坑:
composer安装时,有两个方法,第一种是下载composer.setup.exe点击安装,此处不表,且看第二种方法,简单介绍如下:
先下载composer.phar到某个目录,运行如下代码:
php -r "readfile('https://getcomposer.org/installer');" | php

然后在该目录运行:

echo @php "%~dp0composer.phar" %*>composer.bat

生成一个composer的批处理文件,可以在任意地方直接通过composer这个命令来代替php composer.phar.

别忘了将此目录的路径写入系统的path变量中.
注意:
1.如果是直接点击安装composer.setup.exe文件,那么一般会在C:\ProgramData\ComposerSetup\bin目录下也会生成一个laravel.bat 这就会和installer造成冲突,最好的办法是把这个文件改个名字,比如laravel_start.bat,然后复制到wwwroot目录下,这样就不用每次CMD都从C盘开始了。
2.composer.phar将会被安装到默认的用户目录下,这本来就是composer的home目录。
3.不管怎么安装composer,其home目录在windows下都是用户的一个特定子目录,具体可以通过如下命令查看:
 composer config -l -g 

composer安装之后,由于packagist.org无法访问导致,无法安装laravel,需要将服务器地址修改为国内的镜像。

运行如下代码,可以全局修改您的packagist目标服务器:
composer config -g repositories.packagist composer http://packagist.phpcomposer.com 

或者针对某次安装,您可以在你的具体的composer.json文件中加入如下代码:

"repositories": [  
{"type": "composer", "url": "http://packagist.phpcomposer.com"},
{"packagist": false}
]