Laravel 環境設置

Laravel 環境設置

安裝Composer

Download Composer(參考https://getcomposer.org/doc/00-intro.md)

curl -sS https://getcomposer.org/installer | php   下載Composer檔案

mv composer.phar /usr/local/bin/composer   移動Composer到/usr/local/bin

提醒:composer命令無法使用

為了方便終端機在任何位置都能直接呼叫composer,建議在PATH路徑上加入/usr/local/bin。

Mac版本的方法為開啟終端機,輸入以下命令後跳出文字編輯窗

touch ~/.bash_profile; open ~/.bash_profile

接著,在PATH=...... 之下一行輸入

     export PATH = /usr/local/bin:$PATH

完成後按下Command + Q存擋後離開,重開終端機即可生效,或者直接使用以下命令亦可。

source ~/.bash_profile

提醒:請確定把 ~/.composer/vendor/bin 路徑放置於你的 PATH 裡,這樣你的系統才能找到laravel 執行檔。(有時.composer資料夾會在/Users/帳號資料夾內)

//此為一次性的效果

export PATH="$PATH:$HOME/.composer/vendor/bin"

//確保每次開啟時都會加入此路徑 

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

source ~/.bashrc

使用Composer下載Lavarel安裝包

composer global require "laravel/installer=~1.1"

或者修改~/.bashrc也是同樣的效果

//此為一次性的效果

export PATH="$PATH:$HOME/.composer/vendor/bin"

//確保每次開啟時都會加入此路徑 

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

source ~/.bashrc

 

創建Project

larval new 專案名稱

提醒:如果希望能夠生成指定版本的laravel專案,則需要改用以下的指令

composer create-project laravel/laravel=版本 專案名稱 --prefer-dist

 

錯誤1:如果使用以上命令發現找不到laravel的話,請使用以上變更path的做法,將以下連結加入PATH中。

 ~/.composer/vendor/bin

錯誤2:如果是Mac OS X用composer安裝某些package出現ext-mcrypt找不到的情況,可以參考以下網頁的教學說明來排除

可能是因為雖然安裝的XAMPP或MAMP雖然有ext-crypt的Lib,但所使用的PHP PATH卻是OS的路徑,可以使用以下指令來確認目前取得的PHP BIN Path:

which php

如果確實是這樣的問題,可透過在PATH上面加上XAMPP或MAMP的路徑,最後立即執行,

就能解決這個問題。

詳細作法如下說明...

To use the XAMPP PHP and other binaries found in /Applications/XAMPP/bin/ by default this is the correct entry for ~/.bash_profile

    export XAMPP_HOME=/Applications/XAMPPexport PATH=${XAMPP_HOME}/bin:${PATH}
    export PATH

Load the changes with this (won't be needed next time you open a shell session):

source ~/.bash_profile

Confirm:

    $ which php/Applications/XAMPP/bin/php


如果是Ubuntu的話,可以嘗試以下的作法:

    sudo apt-get install mcrypt php5-mcrypt

    sudo php5enmod mcrypt

錯誤3:畫面是空白的,有一種可能性,是storage資料夾的權限,開到全開一定可以

    sudo chmod 777 -R storage

PS:假如是使用Ubuntu來創建Project,要注意權限的問題,需要執行以下指令

     sudo chmod -R 755 projectName   //設置project的讀寫權限

     sudo chmod -R o+w projectName/storage //設置storage資料夾的讀寫權限

PS:假如是使用Ubuntu作為Database Server,操控資料庫的操作需要改用以下的指令

     /opt/lampp/bin/php artisan migrate

 

錯誤4:如果出現類似這樣的錯誤訊息:Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'

可使用以下指令解決

     sudo apt-get install php5-mcrypt

     sudo php5enmod mcrypt

     sudo service apache2 restart

 

配置專案設置

    修改是在config資料夾內的app.php

    開啟debug模式

     'debug' => env('APP_DEBUG', true),

    將url設定至該project的public folder

    'url' => 'http://localhost:8888/Your Project/public/',

    設置時區

    'timezone' => 'Asia/Taipei',

 

資料庫建立與搬遷

透過phpmyadmin建立一個新project用的資料庫

設定資料庫連線資訊,修改.env,Laravel將連線資訊移到.env以提高安全性

DB_HOST=localhost

DB_DATABASE=learnLaravel5

DB_USERNAME=root

DB_PASSWORD=root

打開終端機,輸入php artisan migrate,就能自動建立驗證功能所需的表格

Error:使用MAMP來建立Apache跟MySql,卻出現以下錯誤...

        SQLSTATE[HY000] [2002] No such file or directory

Solution:

     Step 1.creating a symbolic link in: /var/mysql (create the directory if it does not exist)

     Step 2.cd /var/mysql && sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock

     PS:假如是用XAMPP,將.env的db host設置從localhost改成127.0.0.1

 

錯誤5:開啟網頁出現以下錯誤...

No supported encrypter found. The cipher and / or key length are invalid

    Solution1:

         In config\app.php change 'cipher' => 'AES-256-CBC',

    Solution 2:

         php artisan key:generate; (make sure .env is exist!)

 

暫時設定Document Root到public Folder

打開終端機,跳到該專案的Folder,使用以下指令,即可偵聽8888 port直接開啟public

php -S localhost:8888 -t public

設定Terminal可以用SublimeText開啟檔案

在Terminal輸入以下指令:

    sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl 

之後就可以在Terminal以subl fileName 來開啟檔案

打開終端機,跳到該專案的Folder,使用以下指令,即可偵聽8888 port直接開啟public

    php -S localhost:8888 -t public

設定Terminal可以用SublimeText開啟檔案

    在Terminal輸入以下指令:

    sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl 

    之後就可以在Terminal以subl fileName 來開啟檔案

 

錯誤6:開啟index.php出現錯誤

很可能是因為php版本不夠,Laravel需要5.9以上的版本才能夠正常運行

錯誤7:出現以下錯誤,可以切換到工作目錄後使用以下指令解決

Fatal error: require(): Failed opening required '/Applications/XAMPP/xamppfiles/htdocs/testLaravel5.2/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/XAMPP/xamppfiles/lib/php') in /Applications/XAMPP/xamppfiles/htdocs/testLaravel5.2/bootstrap/autoload.php on line 17

解法

    composer update --no-scripts

分享這篇文章:

發佈自 林品爵

林品爵
一個堅信程式教育能夠改變下一代未來的狂熱者,青少年揚帆計畫的推動者。十年以上全端程式開發,上百場程式教學經驗,累積學生數達百人以上。 成大學士畢業,使用過J2EE.PHP.MySQL.CoronaSDK.Android.Objective-C.Swift.Python等技術知識,歷任友訊科技總部Java工程師首席.黑快馬股份有限公司研發經理.諾亞數碼娛樂執行長等職位,現任哥布林程式教育學苑創辦人,所開發過專案涵括產品管理系統.POS系統.拍賣平台.擴增實境.問券.社區App等等。 程式啟蒙班講師 . Laravel網頁程式班講師 . App程式班講師

關聯文章:

留下留言