欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-04-06 08:53:27
...

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

安装好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来访问。

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

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

php artisan serve

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


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

127.0.0.1 blog.dev

这样不出意外的话,你可以通过访问http://blog.dev/来看到laravel的欢迎页面了!

但是,很多人到这一步之后,发现就出错,有两种情况,一种是出现空白页面,另一种是错误的提示信息。此时会发现在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}
]