【Laravel学习篇 ? 一】Windows下起步就遇麻烦

WBOY
Freigeben: 2016-06-20 12:55:40
Original
873 Leute haben es durchsucht

很早前 phphub 出来的时候我就去注册了一个账号,而且它的源码是放在 github 上开源的,当时就想自己搭建着玩,它是基于 laravel 的,但是我以前都接触的是 CI 和 Yii ,不会 laravel,于是在 http://laravel-china.org/docs/5.0 开始学着配置环境,当时安装 composer 就将我困住了(Windows),然后就继续我的Yii了。在看了 discourse 之后,在Linux(Ubuntu)下自己也搭建晚了一下,突然想到自己搭建 phphub 这事还没完成呢。于是又开始了环境安装配置。

Composer 官网 https://getcomposer.org/ 。刚开始的时候使用 curl

curl -sS https://getcomposer.org/installer | php
Nach dem Login kopieren

但是没成功,然后就在页面下面下载了安装包,安装的时候始终安装不了,后台搜索才知道是 php.ini 里面的 openssl 需要开启

extension=php_openssl.dll
Nach dem Login kopieren

然后用重试了一下安装,然后打开 cmd 输入

composer -v
Nach dem Login kopieren

显示相关信息成功。

后面就是按照官方的方法安装 laravel

composer global require "laravel/installer=~1.1"
Nach dem Login kopieren

但是由于网速什么的【你懂的】总是安装失败,没办法搜了一下解决办法。打开 cmd 输入

composer config -l -g
Nach dem Login kopieren

在输出的结果中,其中的 【home】 配置项内容就是了我们的composer主目录,然后编辑 cmposer 主目录下的 config.json 文件为:

{    "config": {},    "repositories": [        {            "type": "composer",            "url": "http://comproxy.cn/repo/packagist"        },        {            "packagist": false        }    ]}
Nach dem Login kopieren

保存之后在执行安装 laravel 的命令即可。

接下来就是按照官方的方法创捷一个项目

laravel new laravel-blog
Nach dem Login kopieren

我使用的 Apache ,在 www 目录下创建完成之后在浏览器输入 127.0.0.1/laravel-blog 就访问到了我们的项目,但在浏览器中显示的确是整个项目的目录结构,输入127.0.0.1/laravel-blog/public 访问到 public 目录下的 index.php ,这根本就不算是安装完成。。。

打开 app/Http/Controllers 我们可以看到 HomeController.php 文件:

<?php namespace App\Http\Controllers;class HomeController extends Controller {    /*    |--------------------------------------------------------------------------    | Home Controller    |--------------------------------------------------------------------------    |    | This controller renders your application's "dashboard" for users that    | are authenticated. Of course, you are free to change or remove the    | controller as you wish. It is just here to get your app started!    |    */    /**     * Create a new controller instance.     *     * @return void     */    public function __construct()    {        $this->middleware('auth');    }    /**     * Show the application dashboard to the user.     *     * @return Response     */    public function index()    {        return view('home');    }}
Nach dem Login kopieren

在浏览器输入 127.0.0.1/laravel-blog/home 这时候就是我们最不想看到的

Not Found

The requested URL /laravel-blog/home was not found on this server.


在 laravel 的教程网站上我没找到这方面的解决办法,在根目录下只有一个 server.php ,也没有我们常见的 入口文件 index.php ,我试着在根目录加上 .htaccess 文件,并将其中的 index.php 改为 server.php ,但是还是没有效果。

<IfModule mod_rewrite.c>    <IfModule mod_negotiation.c>        Options -MultiViews    </IfModule>    RewriteEngine On    # Redirect Trailing Slashes...    RewriteRule ^(.*)/$ /$1 [L,R=301]    # Handle Front Controller...    RewriteCond %{REQUEST_FILENAME} !-d    RewriteCond %{REQUEST_FILENAME} !-f    RewriteRule ^ server.php [L]</IfModule>
Nach dem Login kopieren

于是问了一下 @JohnLui, 原来是 laravel 不同我们常接触的 CI、Yii 等是将项目根目录下的index.php 作为入口,于是在浏览器地址输入 127.0.0.1/laravel-blog/public/home 发现确实如此。
所以我们在学习 laravel 的时候最好还是不用这样子目录的形式去访问,而是通过端口访问,所以我们打开 Apache 的配置文件,在底部通过端口的方式直接将该端口指向 public 文件夹。(当然你需要在配置文件里加上相应的 Listen 8010 )

<VirtualHost *:8010>    ServerAdmin yangyun4814@gmail.com    DocumentRoot "E:\phpEnv\www\laravel-blog\public"</VirtualHost>
Nach dem Login kopieren

然后重启 Apache ,通过浏览器输入127.0.0.1:8010 即可访问。

最后又可以继续愉快学习 laravel 了。

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!