I’m trying to deploy my laravel (Laravel Framework 7.28.3) to Cpanel, but got a 404 error.
I uploaded my project into /public_html, modified the index.php file to point to the correct files (as below).
I think there must be some mistake in the index.php file but couldn’t figure it out.
This is my first time asking my question (after searching for it several times), so hope that I will get the answer!
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
this is my file structure in File Manager:
3
Answers
You need to make sure your application is in a folder outside of your public_html.
Then you need to make a symbolic link to everything in your public directory inside your application. This symbolic link should be placed in your public_html.
This way your business logic is not available from the outside, only from your own application.
Actually it is advisable to clone your application using git and then install it following the steps in de docs. (https://laravel.com/docs/7.x/installation)
Deploy laravel application in Cpanel
Setup 1 : – upload file to Cpanel the root directory – not the public_html.
Setup 2 : – Open the that folder and MOVE the CONTENTS of the public folder to your cpanel’s public_html .
Setup 3 : – Navigate to the public_html folder and locate the
index.php
file. Right click on it and select Code Editor from the menu.and change this line
that’s it now all your request will come inside public_html folder
index.php
and this file will includerequire __DIR__.'/../folderName/vendor/autoload.php;
and run laravel applicationFolder structure will look like
indside
index.php
In your public/.htaccess file replaces the code given below..make sure that you uploaded your project in the root public_html folder.