Erro ao inserir fotos no Cadastro Pessoa Física

Boa tarde,
Tava verificando hoje para inserir as fotos no cadastro pessoal física, comecei a testar, e percebi que o sistemas salva as imagens em um diretório diferente do quer o sistema usa na URL, gerando o seguinte erro:

Na url apresenta http://localhost/storage/ieducar/nome_doarquivo.png

Porém o arquivo ta salvo /ieducar/storage/app/public/ieducar

Dá uma olhada se as permissões estão ok, e se as configurações do nginex estão corretas, pois me parece que o endereço está ok, pois o public seria o root do acesso externo.

@tiago.camargo, verifiquei as permissões, rodei os seguintes comandos:
sudo chmod -R 777 /var/www/html/ieducar
sudo chown -R www-data:www-data /var/www/html/ieducar

Segue o arquivo de configuração nginx:

server {

listen 80;

server_name default_server;

root /var/www/ieducar/public;
index index.php index.html;

error_log  /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;

location ~ ^/intranet/?$ {
    rewrite ^.*$ /intranet/index.php redirect;
}

location ~ /module/(.*)/(styles|scripts|imagens)/(.*) {
    rewrite ^/module/(.*)/(imagens|scripts|styles)/(.*)$ /intranet/$2/$3 break;
}

location ~ /module/(.*)/(.*) {
    rewrite ^/module/(.*/)(.*intranet/.*)$ /$2 redirect;
    rewrite ^/module/(.*/)(.*index\.php)$ /$2 redirect;
    rewrite ^/module/(.*/)(.*logof\.php)$ /intranet/logof.php redirect;
    rewrite ^/module/(.*/)(.*meusdados\.php)$ /intranet/meusdados.php redirect;
    rewrite ^/module/(.*/)(.*_xml.*)(\.php)$ /intranet/$2.php redirect;
    rewrite ^/module/(.*/)(.*erro_banco\.php)$ /intranet/erro_banco.php redirect;
    rewrite ^/module/(.*/)(.*educar_pesquisa_cliente_lst\.php)$ /intranet/educar_pesquisa_cliente_lst.php redirect;
    rewrite ^/module/(.*/)(.*educar_pesquisa_obra_lst\.php)$ /intranet/educar_pesquisa_obra_lst.php redirect;
    rewrite ^/module/(.*)$ /module/index.php last;
}

location ~ ^(/intranet.*\.php|/modules.*\.php|/module/) {
    rewrite ^(.*)$ /index.php$1;
}

location ~ \.php {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass php-fpm;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
}

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

}

O arquivo realmente existe e tem conteúdo ou está apenas com o nome?

Tuas configurações parecem estar ok.

@tiago.camargo, o arquivo existe e tem o conteúdo.

Chegou a dar uma olhada no log do nginx? Talvez lá tenha alguma informação que ajude.

Eu ainda não consegui simular aqui.

@tiago.camargo, segue o log do nginx, testei com o chrome e com edge.

http://172.16.0.62/intranet/scripts/jquery/jquery-ui.min-1.9.2/css/custom/jquery-ui-1.9.2.custom.min.css?v=0.0.36” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36”
192.168.92.5 - - [02/Dec/2019:19:30:26 +0000] “GET /module/Api/endereco?&oper=get&resource=permissao_editar HTTP/1.1” 200 109 “http://172.16.0.62/intranet/atendidos_cad.php?cod_pessoa_fj=613” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36”
192.168.92.5 - - [02/Dec/2019:19:30:29 +0000] “GET /module/Api/pessoa?&oper=get&resource=pessoa&cpf=411.646.874-68 HTTP/1.1” 200 1383 “http://172.16.0.62/intranet/atendidos_cad.php?cod_pessoa_fj=613” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36”
192.168.92.5 - - [02/Dec/2019:19:30:39 +0000] “GET /module/Api/pessoa?&oper=get&resource=pessoa&cpf=411.646.874-68 HTTP/1.1” 200 1383 “http://172.16.0.62/intranet/atendidos_cad.php?cod_pessoa_fj=613” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36”
192.168.92.5 - - [02/Dec/2019:19:30:39 +0000] “POST /intranet/atendidos_cad.php?cod_pessoa_fj=613 HTTP/1.1” 200 19707 “http://172.16.0.62/intranet/atendidos_cad.php?cod_pessoa_fj=613” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36”
192.168.92.5 - - [02/Dec/2019:19:30:40 +0000] “GET /module/Api/endereco?&oper=get&resource=permissao_editar HTTP/1.1” 200 109 “http://172.16.0.62/intranet/atendidos_cad.php?cod_pessoa_fj=613” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36”
192.168.92.5 - - [02/Dec/2019:19:30:40 +0000] “GET /intranet/atendidos_lst.php HTTP/1.1” 200 8780 “http://172.16.0.62/intranet/atendidos_cad.php?cod_pessoa_fj=613” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36”

Log i-educar
master@sv-replica:~$ tail -f /var/www/html/ieducar/storage/logs/laravel-2019-12-02.log
#70 /var/www/html/ieducar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#71 /var/www/html/ieducar/vendor/barryvdh/laravel-cors/src/HandlePreflight.php(29): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#72 /var/www/html/ieducar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Barryvdh\Cors\HandlePreflight->handle(Object(Illuminate\Http\Request), Object(Closure))
#73 /var/www/html/ieducar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#74 /var/www/html/ieducar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#75 /var/www/html/ieducar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#76 /var/www/html/ieducar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#77 /var/www/html/ieducar/public/index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#78 {main}
"}

Flavio, execute o comando php artisan storage:link acredito que resolva seu problema.

https://laravel.com/docs/6.x/filesystem#the-public-disk

1 curtida

@edersoares, rodei o comando, realmente ele recriou o caminho do arquivos, agora está salvando na pasta correta, porém o problema continua, segue os prints do banco de dados, também dei permissão total para a pasta.

foto_erro02

@flavio você está rodando sua aplicação no endereço localhost? Se não estiver, mude o arquivo .env a variável APP_URL para o domínio ou IP que sua aplicação está rodando.

2 curtidas

Boa noite, @edersoares já fiz tanto com ip como o domínio e erro 500 continua.

Muito estranho, faça o seguinte, coloque um arquivo .txt com qualquer conteúdo no mesmo local das imagens e tente acessar via URL, caso funcione, veja as permissões dos arquivos de imagens.

Caros, a partir de qual versão do i-Educar o envio de fotos dos alunos e servidores funciona, para armazenamento local?

@robson a versão https://github.com/portabilis/i-educar/releases/tag/2.1.19 foi que entrou o uso local de arquivos.

1 curtida

Muito obrigado @edersoares

Boa noite @edersoares
Desculpa a demora pra responder, segue o erro, algo ligado a autenticação AWS.

Oi @flavio no teu arquivo .env o parâmetro FILESYSTEM_DRIVER está local?

Bom dia @tiago.camargo, está sim, quando pego o caminho dentro do banco e acesso pelo navegador e imagem abre normalmente.

@flavio rode o comando php artisan config:clear para sabermos se as configurações dos drivers não estão cacheadas.

1 curtida

Bom dia, rodei o comando e o problema continua, segue os prints.