在此先向各位前輩拜年:祝大大們虎年行大運,福虎生豐發大財
小弟欲將 1個 Laravel 項目移到 AWS主機
PS:我在ec2 裡面開了2個虛擬站點:
i58d.com (正式=從 git clone 而來---一直出現問題)
ifafafa.com (測試= composer create-project --prefer-dist laravel/laravel blog "6.*" ---一切正常)
i58d.com無法開啟網頁,log出現報錯如下:
[Mon Feb 07 20:08:40.068728 2022] [php7:error] [pid 32125] [client 114.46.44.99:55245] PHP Fatal error: Uncaught ErrorException: file_put_contents(/var/www/i58d/storage/framework/views/b8cb7b9cd9118997da160c32f6162cca18f820f5.php): failed to open stream: Permission denied in /var/www/i58d/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:133\nStack trace:\n#0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()\n#1 /var/www/i58d/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(133): file_put_contents()\n#2 /var/www/i58d/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php(129): Illuminate\\Filesystem\\Filesystem->put()\n#3 /var/www/i58d/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(51): Illuminate\\View\\Compilers\\BladeCompiler->compile()\n#4 /var/www/i58d/vendor/facade/ignition/src/Views/Engines/CompilerEngine.php(36): Illuminate\\View\\Engines\\CompilerEngine->get()\n#5 /var/www/i58d/vendor/laravel/framework/src/Illuminate/View/View.php(143): Facade\\Ignition\\Views\\Engines\\CompilerEngine->get()\n#6 /var/www/i58d/ven in /var/www/i58d/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php on line 133
在google 查詢了 1天都說:執行以下命令
php artisan cache:clear
php artisan config:cache
sudo chmod -R 777 storage
sudo chmod -R 777 storage
但是報錯依然無解
因此!想向各位大大們請教一下,到底需要怎解?
PS:另外!在 /storage/logs/laravel.log 出現的報錯如下:
production.ERROR: Command "dump-autoload" is not defined. {"exception":"[object] (Symfony\\Component\\Console\\Exception\\CommandNotFoundException(code: 0): Command \"dump-autoload\" is not defined. at /var/www/i58d/vendor/symfony/console/Application.php:676)
先確定WEB SERVER的運行身份。
一般不外乎是 www、www-data、apache、nginx 等這些身份才對。
如果你的/var/www 是 ubuntu 或是 ec2-user 這種身份。
就會發生權限的問題。root身份其實也會這樣。
要先檢查你的設定檔在何種身份。
將 storage 改成 777 可以正常沒錯,但這也代表所有人都能訪問
網路上查到的看看對你有沒有幫助,是 medium 的文章,也許還有 SELinux 的影響