在Laravel 5+ Ubuntu 14.04上获得500内部服务器错误

我已经在Windows操作系统上多次安装了Laravel,但从来没有发生过这种types的问题。 这个500内部服务器通常在你的“mod_rewrite”模块没有打开时发生。

不过,在Ubuntu 14.04上这个问题让我很头疼。 我已经安装了rewrite_mod,但它也不能正常工作。 我已经授权访问我所有的文件夹和文件里面

在/ var / www / html等/ laravel_project

依然不起作用。 更改.htaccess以及从原来的这个。

+FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 

我还有Laravel 5+所需的所有必要的扩展。 还有什么我没做的?

最后克服了这个问题

  • 这不是问题的.htaccess文件,也不是index.php。 问题在于访问文件和需要权限。

为了解决这个问题,我通过terminal运行以下命令。

 sudo chmod 755 -R laravel_blog 

然后在下面input以允许laravel将文件写入存储文件夹

 chmod -R o+w laravel_blog/storage 

这两个命令解决了这个问题。

安装完后运行下面的命令

 sudo chmod 755 -R laravel chmod -R o+w laravel/storage 

这里“laravel”是laravel安装目录的名称

我遇到了类似的错误。 我检查了/var/log/apache2/error.log的日志,发现一个UnexpectedValueException

我将所有者更改为项目目录下的存储文件夹的apache用户。

 sudo chown -R www-data:www-data ./storage 

在我的情况下,apache2进程的所有者是www-data ,所以将其更改为您的,这可以在apache2configuration文件中find。 希望这对你有用。

我用这个命令修复:

  rm -rf app/storage/logs/laravel.logs chmod -R 777 app/storage, php artisan cache:clear, php artisan composer dump-autoload 

比重新启动服务器的XAMPP矿另一个,应该工作。

可能另一个解决这个问题的方法

通过从项目的根目录运行composer命令来安装所需的软件包:

 sudo composer install 

有时PHP版本有问题。 我们需要从服务器更改php版本。 只需在.htaccess文件中写下string:

 AddHandler application/x-httpd-php5 .php 

在安装Laravel的目录中运行这两个命令:

 sudo chmod 755 -R DIRECTORY_NAME chmod -R o+w DIRECTORY_NAME/storage 

然后清除caching并转储自动加载:

 php artisan cache:clear composer dump-autoload 

一个新手,但这是我所做的,因为我没有钥匙

创build.env文件并运行

 php artisan key:generate 

这拉了一个git项目后为我工作

在laravel的根上运行这两个命令

find* -type d -print0 | xargs -0 chmod 0755#用于目录

找 。 -type f -print0 | xargs -0 chmod 0644#用于文件

根据日志:

 [06-Feb-2016 22:38:48 Europe/Berlin] PHP Warning: require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17 [06-Feb-2016 22:38:48 Europe/Berlin] PHP Fatal error: require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17 [06-Feb-2016 22:43:37 Europe/Berlin] PHP Warning: require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17 [06-Feb-2016 22:43:37 Europe/Berlin] PHP Fatal error: require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17 

有些故障将文件打开到/ vendor文件夹中。

通过安装和更新通过composer php,我终于能够解决这个问题。

 sudo composer install sudo composer update 

确保具有写入权限(chmod o + w)的存储文件夹,对我来说就像一个魅力。

除了上面列出的原因之外,还有其他原因可能导致500个内部服务器错误。 包括丢失或旧的CSRF,语法错误,.htaccess错过configuration等。这里覆盖了一个完整的列表https://abbasharoon.me/how-to-fix-laravel-ajax-500-internal-server-error/

因为没有权利写日志的目录。
chmod 755 storage -R

首先为您的项目文件夹(比如说叫laravel),存储子文件夹及其日志子文件夹和供应商子文件夹(laravel / storage,laravel / storage / logs和laravel / vendor)提供所有权限。

然后检查你是否有.env文件 – 如果没有,你可以运行:

 $ mv .env.example .env 

将您的内置.env.example重命名为所需的.env。

否则打开debugging模式 – 打开.env并设置

 APP_DEBUG=true 

并打开laravel / config / app.php并更改

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

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

所以你可以找出你的错误是什么原因。

我遇到了这个问题,并通过升级我的PHP版本在Apache的5.6.x修复