在win8.1下安裝laravel5.1時遇到的坑不少,但總算搞掂,真有點不容易

來源:互聯網
上載者:User
在win8.1下安裝laravel5.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}
]

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.