【Laravel學習篇 · 一】Windows下起步就遇麻煩

很早前 phphub 出來的時候我就去註冊了一個帳號,並且它的源碼是放在 github 上開源的,當時就想本身搭建着玩,它是基於 laravel 的,可是我之前都接觸的是 CIYii ,不會 laravel,因而在 http://laravel-china.org/docs/5.0 開始學着配置環境,當時安裝 composer 就將我困住了(Windows),而後就繼續個人Yii了。在看了 discourse 以後,在Linux(Ubuntu)下本身也搭建晚了一下,忽然想到本身搭建 phphub 這事還沒完成呢。因而又開始了環境安裝配置。php

Composer 官網 https://getcomposer.org/ 。剛開始的時候使用 curllaravel

curl -sS https://getcomposer.org/installer | php

可是沒成功,而後就在頁面下面下載了安裝包,安裝的時候始終安裝不了,後臺搜索才知道是 php.ini 裏面的 openssl 須要開啓git

extension=php_openssl.dll

而後用重試了一下安裝,而後打開 cmd 輸入github

composer -v

顯示相關信息成功。json

後面就是按照官方的方法安裝 laravel瀏覽器

composer global require "laravel/installer=~1.1"

可是因爲網速什麼的【你懂的】老是安裝失敗,沒辦法搜了一下解決辦法。打開 cmd 輸入app

composer config -l -g

在輸出的結果中,其中的 【home】 配置項內容就是了咱們的composer主目錄,而後編輯 cmposer 主目錄下的 config.json 文件爲:composer

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

保存以後在執行安裝 laravel 的命令便可。yii

接下來就是按照官方的方法創捷一個項目curl

laravel new laravel-blog

我使用的 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');
    }
}

在瀏覽器輸入 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>

因而問了一下 @JohnLui, 原來是 laravel 不一樣咱們常接觸的 CIYii 等是將項目根目錄下的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>

而後重啓 Apache ,經過瀏覽器輸入127.0.0.1:8010 便可訪問。

最後又能夠繼續愉快學習 laravel 了。

相關文章
相關標籤/搜索