Jump to content
GiselePassoni

Ao acessar pasta public do projeto laravel publicada no servidor linux, a página abre em branco

Recommended Posts

Bom dia!

Eu estava desenvolvendo um projeto em laravel e, com hospedagem local estava funcionando normalmente. 

Ao publicar no servidor linux, o projeto não abre. Aparece uma página em branco.

Tentei publicar um projeto nativo do laravel, achando que teria sido alguma configuração que fiz que tinha dado errado. Mesma coisa, o projeto abre em branco.

Não faço ideia do que preciso fazer. Alguém poderia me ajudar?

Ah, o servidor não é apache, é nginx... influencia alguma coisa?

Share this post


Link to post
Share on other sites

Como você fez o deploy (subiu para o servidor/ftp)?

 

Está apontando certinho pra pasta public?

 

 

Pq quando você roda na local (seguindo a documentação):

php artisan serve

Ele já aponta automaticamente o seu DOCUMENT_ROOT da para a pasta 'public' do projeto 

 

 

Resumo da opera:
Testa assim na sua hospedagem:

 

seusite.com.br/public

 

Se abrir você vai precisar fazer alguns ajustes...

 

 

Qual hospedagem / plano que você está? É compartilhado?

 

 

 

Share this post


Link to post
Share on other sites

Se eu digitar o ip/site/public aparece em branco...

Eh servidor próprio da nossa empresa. 

 

Eu fiz o deploy de 3 formas:
1- copiei o projeto que estava em localhost (configurei de forma que não precisava colocar o /public) para dentro do servidor via FileZilla. Ao acessar IP/site, ficava em branco.

2- Publiquei uma instalação nativa do laravel pelo filezilla. Ao acessar IP/site/public, aparece em branco tbm

3- Instalei o composer via comando (putty) e depois instalei o laravel.. mesma coisa

 

Nosso servidor é dedicado

Share this post


Link to post
Share on other sites

Esqueci um detalhe...

 

A pagina em branco ser algum erro suprimido pelo laravel,

Para habilitar os mesmos em produção:

 

Dentro de config/app.php

 

Altera isso:

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

Pra isso:

    'debug' => true,

Mais opções em:

https://laravel.com/docs/5.4/errors

 

Share this post


Link to post
Share on other sites

Consegui fazer funcionar! Estava faltando dar permissão de escrita para a pasta storage. 

Agora o site carrega normalmente mas, as rotas que antes funcionavam normalmente (local), agora não funcionam...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By zanoth
      Salve galera,
       
      sou novo no fórum, saudacoes a todos.
       
      Tenho um formulario em blade:
       
      <form action="{{url('request-action')}}" method="post"> Uma rota:
       
      Route::post('request-action', [Controllers\MainController::class, 'validator']);  
      E um Controller, com a funcao:
      public function validator(Request $request) { $data = $request->validate([ 'name' => 'required|max:255', 'email' => 'sometimes|email', 'phone' => 'required|max:255', 'units' => 'required', 'done' => 'required', ]); tap(new Clients($data))->save(); $id = DB::table('clients')->where('email', '=', $request->email); var_dump($id); //DEBUG for($i = 0; $i < $request->units; $i++) { $banch = file(storage_path('tickets.txt')); $len_banch = count($banch); $rand = rand(0, $len_banch-1); $got = $banch[$rand]; unset($banch[$rand]); $file = fopen(storage_path('tickets.txt'), "w"); ftruncate($file, sizeof($banch)); file_put_contents(storage_path('tickets.txt'), $banch); fclose($file); $tickets->token = $got; $tickets->id = $id; $tickets->save(); } fclose($file);*/ return redirect('success'); }  
      Quero que o formulario seja validado e os dados sejam salvos no bd. Nessa funcao instancio dois modelos, um deles levando o valor de um indice automatico do outro. (em $tickets->id = $id;). Em uma pesquisa rapida descobri a classe DB (Illuminate\Support\Facades\DB), mas sem resultado, considerando que esse valor é gerado no ato da interacao com o Postgres (no meu caso).
      Qual seria a melhor de maneira para traze-lo?
       
      Com relacao aos logs, a principio uma inconsistencia relacionada a variavel $id foi retornada pelo debugger, porem agora nem sequer o debugger é chamado, em decorrencia de um loop infinito aparentemente (pagina sendo carregada… etc etc). A que se deve tal comportamento?
       
      Seguindo os exemplos dos corteses, crio esse post. Ja se isso for mentira, obra do diabo ou de alguma sociedade secreta que o serve, que alguem fale agora ou cale-se para sempre, por favor. Estes sxerao castigados, vencida a ilusao da vida.
       
      Uma outra duvida seria em relacao ao real funcionamento da funcao (helper) 'tap', nao encontro documentacoes ou manuais tecnicos em essencia,
       
       
      mas informacoes textuais ou artigos, que facilitam a abstracao.
       
      Valeu desde já.
       
    • By fernandomullerjr
      Oi Pessoal,
      bom dia.
      Estou tentando obter os logs do Laravel através do stdout do meu Container PHP, mas quando eu simulo um erro dentro do Container via php artisan ele não é mostrado no stdout do container:
      ``` 
      fernando@c64d676157c2:/var/www$ php artisan command5
      Command "command5" is not defined.  
      fernando@c64d676157c2:/var/www$ 
      ```
      O erro é escrito no log do Laravel:
      ``` 
      fernando@c64d676157c2:/var/www$ tail storage/logs/laravel.log
      "} 
      [2022-02-22 12:43:52] dev.ERROR: Command "command5" is not defined. {"exception":"[object] (Symfony\\Component\\Console\\Exception\\CommandNotFoundException(code: 0): Command \"command5\" is not defined. at /var/www/vendor/symfony/console/Application.php:644)
      [stacktrace]
      #0 /var/www/vendor/symfony/console/Application.php(228): Symfony\\Component\\Console\\Application->find('command5')
      #1 /var/www/vendor/symfony/console/Application.php(140): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #2 /var/www/vendor/laravel/framework/src/Illuminate/Console/Application.php(93): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #3 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #4 /var/www/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #5 {main}
      "} 
      fernando@c64d676157c2:/var/www$ 
      ```

      Mas o erro não é mostrado no stdout do Container PHP:
      ``` 
      fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main   docker logs -f travellist-app                                                               SIGINT(2) ↵  10345  09:44:30  
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: fpm is running, pid 1
      [22-Feb-2022 12:40:57] NOTICE: ready to handle connections
      ```
      Eu tentei diversas combinações de configurações do php.ini file, config/logging.php, LOG_CHANNEL  do ".env",  diversas opções de configuração do stack e muito mais.
      Eu estou usando o PHP na versão 7.4.28.
      laravel/framework v7.11.0
      Composer version 2.2.6
      **O projeto foi clonado do Github:**
      https://github.com/do-community/travellist-laravel-demo

      Todos os containers estão up e rodando conforme o esperado:
      ```
      fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main   docker container ls                                                                                     10344  09:40:58  
      CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                   NAMES
      c64d676157c2   travellist     "docker-php-entrypoi…"   5 seconds ago   Up 3 seconds   9000/tcp                                travellist-app
      2995a82595f7   mysql:5.7      "docker-entrypoint.s…"   5 seconds ago   Up 3 seconds   3306/tcp, 33060/tcp                     travellist-db
      736ede87e337   nginx:alpine   "/docker-entrypoint.…"   5 seconds ago   Up 3 seconds   0.0.0.0:8000->80/tcp, :::8000->80/tcp   travellist-nginx
       fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main                                                                                                           10345  09:41:01  
      ```

      Como eu posso obter os logs do Laravel através do stdout do meu container no Docker?
    • By Joob
      Olá Malta,
       
      Trabalho com Laravel, e tenho um problema na parte do registo da conta.
      Quando o utilizador se tenta registar "nome email password".. dá-me erro de conecção com a base dados, mas dá-me o seguinte erro no log:
       
      - Undefined index: avatar {"exception":"[object] (ErrorException(code: 0): Undefined index: avatar at /var/www/app/User.php:221)
       
      na Linha 221 é esta - if ($this->attributes['avatar'] && is_storage_driver(['s3'])) {
      ----
      /** * Format avatar to full url * * @return \Illuminate\Contracts\Routing\UrlGenerator|string */ public function getAvatarAttribute() { // Get avatar from external storage if ($this->attributes['avatar'] && is_storage_driver(['s3'])) { return Storage::temporaryUrl($this->attributes['avatar'], now()->addDay()); } // Get avatar from local storage if ($this->attributes['avatar']) { return url('/' . $this->attributes['avatar']); } return url('/assets/images/' . 'default-avatar.png'); } Ou seja, o utilizador não se consegue registar por causa da imagem, porque se eu escontecer esta função, já é possível fazer o registo, mas a imagem do utilizador não aparece.
       
      A conecção com a base de dados está correcta porque o site todo funciona etc.
       
      RESOLVIDO
       
      Abraço,
      Obrigado
    • By aredienhcs
      Salve!
       
      Me deparei com uma inconsistência hoje nos validadores do Laravel. O caso é que se eu construir um FormRequest devolvendo no método rules() a seguinte regra:
      ['logradouro' => 'string|min:5'] passando o valor '' (aspas simples ) para o campo logradouro, o valor é validado corretamente, devolvendo a inconsistência com a regra de 5 caracteres.
      Porém quando eu crio um validador desta outra forma:
      $dados = [ [ 'logradouro' => ''] ]; $regras = [ ['logradouro' => 'string|min:5'] ]; $v = Validator::make( $dados, $regras); dd( $v->fails()); A mesma regra passa batida pelo validador, retornando 'false' no 'fails( )' do validador. Gostaria de entender porque existe essa diferença entre os dois métodos de validação, e sem tem alguma forma de corrigir esse comportamento.
      Se for preciso mais informações a respeito posso exemplificar melhor.
       
      []s
    • By terra
      Olá todos,
       
      Não consigo enviar e-mail com repley-to
       
      assim funciona:
       
      assim não funciona:
       
       
       
      Essa é função que envia email:
       
       
      Obrigado
      Toninho
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.