我在远程服务器上构建laravel项目,一切工作正常,但当我保存任何更改时,例如在resources/views/welcome.blade.php
上,我无法进入此默认路由,浏览器告诉我它是HTTP ERROR 500
。
我在服务器上更改的所有文件都是一样的。如果我在控制台中输入php artisan serve --host 0.0.0.0
,然后转到192.168.1.4:8000/
,一切都可以正常工作,直到再次保存新的东西…
我在没有任何更改的新laravel项目中遇到了这个问题。My file permissions:
drwxr-sr-x 13 kuchar www-data 4096 Oct 25 09:11 ./
drwxr-sr-x 3 kuchar www-data 4096 Oct 25 08:27 ../
-rw-r--r-- 1 kuchar www-data 542 Oct 25 08:30 .env
-rw-r--r-- 1 kuchar www-data 491 Oct 25 08:27 .env.example
drwxr-sr-x 8 kuchar www-data 4096 Oct 25 09:13 .git/
-rw-r--r-- 1 kuchar www-data 61 Oct 25 08:27 .gitattributes
-rw-r--r-- 1 kuchar www-data 95 Oct 25 08:27 .gitignore
drwxr-sr-x 6 kuchar www-data 4096 Oct 25 08:27 app/
-rw-r--r-- 1 kuchar www-data 1646 Oct 25 08:27 artisan
drwxr-sr-x 3 kuchar www-data 4096 Oct 25 08:27 bootstrap/
-rw-r--r-- 1 kuchar www-data 1283 Oct 25 08:27 composer.json
-rw-r--r-- 1 kuchar www-data 124085 Oct 25 08:27 composer.lock
drwxr-sr-x 2 kuchar www-data 4096 Oct 25 08:27 config/
drwxr-sr-x 5 kuchar www-data 4096 Oct 25 08:27 database/
-rw-r--r-- 1 kuchar www-data 560 Oct 25 08:27 gulpfile.js
-rw-r--r-- 1 kuchar www-data 402 Oct 25 08:27 package.json
-rw-r--r-- 1 kuchar www-data 930 Oct 25 08:27 phpunit.xml
drwxr-sr-x 4 kuchar www-data 4096 Oct 25 08:27 public/
-rw-r--r-- 1 kuchar www-data 1918 Oct 25 08:27 readme.md
drwxr-sr-x 5 kuchar www-data 4096 Oct 25 08:27 resources/
drwxr-sr-x 2 kuchar www-data 4096 Oct 25 08:27 routes/
-rw-r--r-- 1 kuchar www-data 563 Oct 25 08:27 server.php
drwxr-sr-x 5 kuchar www-data 4096 Oct 25 08:27 storage/
drwxr-sr-x 2 kuchar www-data 4096 Oct 25 08:27 tests/
drwxr-sr-x 31 kuchar www-data 4096 Oct 25 08:29 vendor/
-rw-r--r-- 1 kuchar www-data 147055 Oct 25 08:27 yarn.lock
和虚拟主机设置:
<VirtualHost *:80>
ServerName laravel-project.domain
DocumentRoot "/laravel-project/public"
<Directory "/laravel-project/public">
AllowOverride all
</Directory>
</VirtualHost>
对于这个项目,我通过apache使用laravel-project.domain
域,artisan serve
仅在错误500 apper时使用
编辑>我也试着输入命令:
php artisan view:clear
php artisan route:clear
php artisan route:cache
php artisan cache:clear
php artisan config:cache
php artisan config:clear
Nothing works:(只有php artisan serve
让我们首先关注错误,因为它们更重要:
PHP不启用日志错误
- 确保
php.ini
中的error_logging
是启用的。
- 确保
Apache不能读/写自己的错误日志。这很奇怪,但仍然要确保权限都是正确的。
- 如果你有一个以上的php版本安装
which php
,并确保PATH
和其他类似的东西是ok的。
- 如果你有一个以上的php版本安装
Laravel也有一些文件夹,它会抱怨,如果他们没有权限,即storage/*
。
确保apache有权限读/写该文件夹中的任何内容。
并确保这些文件的所有者组是apache。
希望能有所帮助。