Já instalei o Laravel várias vezes no sistema operacional Windows mas nunca ocorreu esse tipo de problema. Este servidor interno 500 geralmente ocorre quando o módulo "mod_rewrite" não está ligado.
Porém, no Ubuntu 14.04 esse problema está me dando dor de cabeça. Instalei rewrite_mod, mas também não está funcionando. Eu dei acesso a todas as minhas pastas e arquivos dentro, ou seja,
/ var / www / html / laravel_project
Ainda não funciona. .Htaccess alterado também de original para este.
+FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Também tenho todas as extensões necessárias para o Laravel 5+. Resta alguma coisa que eu não fiz?
+FollowSymLinks
no topo? Deve serOptions +FollowSymLinks
.AllowOverride
em sua configuração de servidor?Respostas:
Finalmente superou o problema
Para resolver o problema, executei os seguintes comandos no terminal.
sudo chmod -R 755 laravel_blog
e digite abaixo para permitir que o laravel grave o arquivo na pasta de armazenamento
Esses dois comandos resolveram o problema.
fonte
Crie o arquivo .env e execute também:
Isso funcionou para mim depois de puxar um projeto git.
Depois de criar o arquivo .env e gerar a chave, execute o código abaixo:
fonte
php artisan cache:clear php artisan config:clear
está trabalhando para o meu casoDepois de instalar, execute o comando abaixo
sudo chmod 755 -R laravel chmod -R o+w laravel/storage
aqui "laravel" é o nome do diretório onde o laravel foi instalado
fonte
composer install
sudo chmod -R 755 laravel
a localização do -R está erradaTente verificar se você tem
.env
arquivo.Principalmente, essa coisa pode causar algo assim. Tente criar um arquivo, copie tudo de
.env.example
, cole-o no arquivo criado e nomeie-o.env
. ou simplesmente renomeie o.env.example
arquivo para.env
e executephp artisan key:generate
fonte
Certifique-se de que existe um arquivo .env, contendo uma APP_KEY , na raiz.
O que deveria estar no .env não foi explicitamente declarado em outras soluções, e pensei em resumir na frase acima.
Isso corrigiu meu erro 500 em uma nova instalação do Laravel.
Passos:
touch .env
)APP_KEY=
php artisan key:generate
Notas:
Minha instalação particular não incluiu nenhum .env (exemplo ou outro)
Simplesmente ter um .env em branco não funciona.
Um .env contendo parâmetros, mas nenhum
APP_KEY
parâmetro, não funciona.Bug ?: Ao gerar uma chave de aplicativo no terminal, ele pode relatar como bem-sucedido, no entanto , nenhuma chave será realmente colocada no .env se o arquivo não tiver uma
APP_KEY=
linha pré-existente .Como referência, aqui está o .env oficial com parâmetros de linha de base úteis. Copie e cole o que você precisa:
https://github.com/laravel/laravel/blob/master/.env.example
fonte
Eu enfrentei um erro semelhante. Eu verifiquei o login
/var/log/apache2/error.log
e encontrei um UnexpectedValueExceptionMudei o proprietário para o meu usuário apache da pasta de armazenamento no diretório do projeto.
No meu caso, o proprietário do processo apache2 é
www-data
, então mude para o seu, ele pode ser encontrado no arquivo de configuração do apache2. Espero que isso seja útil para você.fonte
Consertei com este comando:
rm -rf app/storage/logs/laravel.logs chmod -R 777 app/storage, php artisan cache:clear, php artisan dump-autoload OR composer dump-autoload
Depois reinicie um servidor XAMPP ou outro e que deve estar funcionando.
fonte
Pode outra solução para este problema:
Instale os pacotes necessários executando o comando composer a partir da raiz do projeto:
ATUALIZAR:
EDITAR:
fonte
Eu tinha o PHP 7.0 e o PHP 7.1 instalados e estava usando o PHP 7.1 na linha de comando e o PHP 7.0 estava habilitado no Apache, isso bagunçado pode trazer problemas quando você está usando Laravel Framework e localhost Apache2 com laravel.
Verifique seu arquivo composer primeiro para ver sua versão do PHP.
"php": "^7.1.3", "laravel/framework": "5.6.*",
Verifique a sua versão atual do php na linha de comando
Verifique sua versão de php habilitada no Apache, eu fiz usando o navegador.
http://localhost
Se não for o mesmo, desative a versão atual e ative a mais recente.
sudo a2dismod php7.2 sudo a2enmod php7.1 sudo service apache2 restart
Depois disso, altere as permissões da pasta
sudo chmod 755 -R blog
para pasta de armazenamento
fonte
Um problema frequente ao usar o git:
Laravel's .gitignore ignores the .env file which when missing generates this error
Resolvido isso adicionando manualmente um arquivo .env no servidor ou enviando-o por FTP
fonte
Às vezes, há problemas com a versão php. Precisamos mudar a versão php do servidor. Basta escrever a string abaixo no arquivo .htaccess :
fonte
Eu li todos os comentários e sugestões. 500 - CÓDIGO DE ERRO HTTP representa um erro interno do servidor.
Razões para este erro:
.env
arquivo não encontrado em seu diretório raizConsertar:
find /path/to/your/root/dir/ -type f -exec chmod 644 {} \; find /path/to/your/root/dir/ -type d -exec chmod 755 {} \; chown -R www-data:www-data /path/to/your/root/dir/ chgrp -R www-data storage bootstrap/cache chmod -R ug+rwx storage bootstrap/cache
touch .env
e cole suas variáveis de ambiente e executeapt-get install php7.2-[extension-name]
.env
arquivo. E conceda permissões ao usuário do banco de dados para esse banco de dados.Esses são alguns problemas comuns que você provavelmente enfrentará ao implantar seu aplicativo laravel e quando começar a receber todos esses comandos, sugiro que você faça um script que economizará seu tempo.
fonte
Primeiro, conceda todas as permissões para a pasta do seu projeto (digamos que seja chamada laravel), para a subpasta de armazenamento e sua subpasta de logs e para a subpasta do fornecedor (laravel / armazenamento, laravel / armazenamento / logs e laravel / fornecedor).
Em seguida, verifique se você tem um arquivo .env - caso contrário, você pode executar:
para renomear seu .env.example integrado para o .env necessário.
Caso contrário, ative o modo de depuração - abra .env e defina
APP_DEBUG=true
e abra laravel / config / app.php e mude
'debug' => env('APP_DEBUG', false),
para
'debug' => env('APP_DEBUG', true),
para que você possa descobrir qual é o motivo do seu erro.
fonte
Execute estes dois comandos no diretório onde o Laravel está instalado:
sudo chmod 755 -R DIRECTORY_NAME chmod -R o+w DIRECTORY_NAME/storage
Em seguida, limpe o cache e descarte o carregamento automático:
fonte
Já enfrentei esse problema muitas vezes. Experimente uma dessas etapas que me ajudou muito. Talvez também te ajude.
composer dump-autoload
fonte
Se você usa o vagrant, tente isto:
Primeiro remova config.php em / vendor atual.
Execute estes comandos:
NÃO EXECUTE php artisan config: cache.
Espero esta ajuda.
fonte
Execute esses dois comandos na raiz do laravel
find * -tipo d -print0 | xargs -0 chmod 0755 # para diretórios
encontrar . -tipo f -print0 | xargs -0 chmod 0644 # para arquivos
fonte
Eu tenho um problema semelhante com um host de compartilhamento. Eu estava tendo 500 erros. Acabei de consertar verificando a versão do Laravel e a versão do PHP. O erro foi porque o Laravel 5.6 não roda no PHP 7.0.x Depois de saber disso, acabei de reconfigurar o projeto para o Laravel 5.5 que é compatível com o PHP 7.0.x agora está tudo certo. Outra razão que às vezes tenho problemas é o FTP, eu obtenho arquivos corrompidos e preciso carregar o projeto mais de uma vez. Espero que isso ajude no futuro. Não encontrei tantas informações neste tópico.
fonte
Para aqueles que gostam de mim, ainda têm erros depois de tentar todas as outras respostas:
Verifique a versão do php que o apache usa, o último laravel só funciona com o php7.1. Então você tem que:
sudo a2dismod php[yourversion] sudo a2enmod php7.1 sudo systemctl restart apache2
espero que isto ajude
fonte
se estiver em um servidor ativo, tente isso
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> Options +FollowSymLinks RewriteEngine On RewriteBase / # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
em seguida, certifique-se também de que a versão php em composer.json é a mesma do seu servidor.
Verifique sua versão php em seu terminal usando
php -v
fonte
Certifique-se de ter executado
composer update
em sua instância do servidor.fonte
Primeiro, se não houver um arquivo .env em seu repositório laravel. Copie e cole o arquivo .env.example e renomeie-o para .env. em seguida, abra o arquivo .env e, na parte do banco de dados, forneça a descrição do banco de dados. Executar: php artisan key: gerar php artisan cache: limpar php artisan config: cache php artisan config: limpar composer dump-autoload php artisan servir
fonte
De acordo com os registros:
[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
Existem algumas falhas ao abrir arquivos na pasta / vendor.
Ao instalar e atualizar via composer, finalmente consegui resolver o problema.
fonte
Certifique-se de que a pasta de armazenamento com previlégio de gravação (chmod o + w) funcione para mim como um encanto.
fonte
Por não ter o direito de escrever no diretório do log.
chmod 755 storage -R
fonte
Eu enfrentei esse problema e resolvi atualizando minha versão do php no apache para 5.6.x
fonte
Só altere a permissão da pasta da web por meio deste comando:
sudo chmod 755 -R your_folder
fonte
Acabei de executar o seguinte comando:
php artisan passport:install
Eu estava usando o passaporte para executar meu aplicativo totalmente baseado em APIs e Vue.js. O Laravel funcionava bem, mas toda vez que eu tentava fazer o login através da minha API, eu recebia o erro. Depois de executar o comando e atualizar o client_id e client_secret em meus arquivos do Laravel e enviar as novas atualizações para o servidor ativo, o problema foi resolvido. No meu modelo de usuário, tenho um script da seguinte maneira:
public function generateToken($request) { $http = new \GuzzleHttp\Client(); $response = $http->post(URL::to('/').'/oauth/token', [ 'form_params' => [ 'grant_type' => 'password', 'client_id' => '6', 'client_secret' => 'x3yhgWVqF8sSaMev4JI3yvsVxfbgkfRJmqzlpiMQ', 'username' => $this->email, 'password' => $request->input('password'), 'scope' => '', ], ]); // Lets get an array instead of a stdObject so that we can return without errors $response = json_decode($response->getBody(), true); return oq_api_notify([ 'auth' => $response, // API ACCESS TOKEN 'user' => $this->load(['settings'])->toArray(), ], 201); }
Acabei de atualizar o client_id e o client_secret só depois salvei. Já que o comando passport fornece duas chaves de cliente:
1) Cliente de acesso pessoal (client_id & client_secret)
2) Cliente de concessão de senha (client_id & client_secret)
Usei o cliente de concessão de senha. Espera que isso ajude alguém lá fora :)
fonte