本篇是基礎近乎為 0 的新手的摸索過程。當在 Amazon Web Service (AWS) 上找到 Amazon Linux 2 上安裝 LAMP Web 伺服器 的教學文章,並照表操作後,照理說應該可以直接在上頭安裝 Laravel 才對。不過事情往往會比想像中複雜許多。以下便記載曾經撞牆的地方,並記錄下解決方法。
常見 Q&A
為何 EC2 主機無法正常連線了?方才明明還可以的…
有可能是你在操作過程中,反覆透過 SSH 登入太多次或是頻繁寫入讀取,導致伺服器端直接封鎖。你可以透過 Stop Instance 再重新啟動來解決。不過請先綁定好 Elastic IP,否則你的對外 IP 位置會改變。
安裝 Laravel 專案時出現 mmap() failed: [12] Cannot allocate memory
由於 php-fpm 有預設 128 MB的單條指令上限,較為妥善的解決方式是建立 swap 檔案。
1 2 3 |
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 sudo /sbin/mkswap /var/swap.1 sudo /sbin/swapon /var/swap.1 |
composer 或是 laravel 指令無法於全域環境使用
路徑設定問題,先輸入 echo $PATH 看一下目前有的路徑。如果沒有的話,使用 pwd 來查看路徑,並設置於 $PATH 中。你可能還會需要知道如何使用 vim 編輯器。
Laravel:require…./vendor/autoload.php 錯誤的解決方法
有一些核心程式沒有下載下來的緣故,可能是因為套件彼此的建議版本問題所導致。可以在專案根目錄使用 composer install 或是 composer update 來解決。如果還是不行,可以使用 composer install –ignore-platform-reqs 來忽略 php 的版本問題。
讀取權限 Permission Denied 問題
因為在執行過程(如 php artisan key:generate )中,會產生不少的關聯檔。根據錯誤出現的地方,使用 chmod -R 777 <檔案資料夾位置> 來解決
參考資料
- PHP 動態網站系統開發與 Laravel 框架運用
- Amazon Linux 2 上安裝 LAMP Web 伺服器
- Solving out of memory errors with PHP and Composer on EC2s free tier
- Installing Laravel Framework on Ubuntu 16.04 using AWS EC2
- Laravel:require…./vendor/autoload.php错误的解决办法
- Day 04 : 環境架設 part III — Composer & Laravel