Solución:
No sé por qué el servidor cree que su raíz está en /app
pero este error se produce debido al permiso del public/
directorio desde el que se supone que Heroku debe servir su aplicación.
Para resolver este problema, simplemente agregue lo siguiente al script
sección de tu composer.json
"post-install-cmd": [
"php artisan clear-compiled",
"chmod -R 777 public/"
]
Tenga en cuenta el cambio en el permiso del public/
directorio.
EDITAR:
Mientras lo hace, compruebe su Procfile
asegúrese de que esté escrito correctamente y comience con mayúsculas P
.
PD: Sé que algunas personas son muy quisquillosas y dirían que el permiso es demasiado laxo. Sí estoy de acuerdo con usted. Puedes cambiarlo a algo más como 775
dejemos fluir el jugo.
Dentro de la carpeta raíz de Laravel, crea un archivo llamado Procfile.
Escriba la siguiente línea dentro del Procfile.
web: vendor/bin/heroku-php-nginx public/
¡Entonces despliéguelo de nuevo! Src y más aquí https://appdividend.com/2018/04/17/how-to-deploy-laravel-project-on-heroku/
Espero que esto haya sido útil =)
/app
es la ruta absoluta en el sistema de archivos, donde reside su aplicación. El error indica que su Procfile
en realidad no contiene lo que afirma que contiene. Probablemente no lo haya agregado y enviado a Git. Apache está intentando servir desde la “raíz” en este momento, no desde la public/
subdirectorio.