Running Laravel application in shared Hosting will be headache if you don't now the right tools and techniques. But you can easily install and run your laravel application in shared hosting with no SSH access without much issue. You can also setup continuous integration (frequently updates) like environment with in shared Hosting. I will explain all the things one by one in details.
We will use git in our projects, so that you don't have to worry about which files have been edited recently. It allows you to upload only the edited files to the server but instead of whole projects.Let's create a git repository in a laravel projects with the following command.
Add all the files to git and commit that changes.
git add . git commit -m "Project Init"
Now you have added your projects into git, Now it's time to introduce git-ftp . Git ftp is a tool that allows us to upload the files into the ftp server based on git. The changes files will automatically detect by git-ftp and update only the changed file. So, Let's setup a git ftp
Before to use git-ftp we need to setup ftp server account on shared hosting. So go go to the your server and create a ftp account.
Than download and install the the git-ftp. Here is good documentation for install in your machine.
# Or if the files are already there
git ftp catchup -v
# Work and deploy
echo "new content" >> index.txt
git commit index.txt -m "Add new content"
git ftp push -v
Here -v gives you extra information about upload.
The last things is this doesn't upload the vendor directory as it is ignored in git, So you can make a compress file of vendor and upload with git-ftp and manually unzip the vendor directory into the server. You may think of adding vendor directory into the git, but its too much time consuming to upload the files into the server, besides that vendor directory doesn't changed frequently, only when you update the dependency, so its better to zip the vendor directory and upload with git ftp and unzip manually into the server.