Beep boop, I’m a bot! I dug through the forum to get you started. I sometimes get things wrong though, so do with this what you will until a human has a look.
Free hosting runs PHP 8.4 on all servers, according to the announcement below. You said Laravel 13 needs PHP 8.3 or newer, so 8.4 meets that. I can’t confirm the version on your own account from here.
Here’s the announcement that all free hosting servers were upgraded:
It also says PHP 8.5, which you’re using locally, isn’t offered yet. Test your app on 8.4, not 8.5.
To check the version your site actually runs, put a file in htdocs containing <?php phpinfo(); and open it in your browser. The control panel’s version setting doesn’t always match what runs, so phpinfo() is the reliable check. Delete the file afterwards. This is from the “Which PHP version does my site use?” section of this article:
For Laravel and its limits, this article covers it:
The points that matter for your project:
- Web root: it’s always
htdocsand can’t be changed. You upload the whole app there and use two.htaccessrules to route requests intopublic. This keeps.envfrom being reachable. - Uploads: symlinks aren’t supported, so
php artisan storage:linkwon’t work. The article gives a rewrite rule that servesstorage/app/publicinstead. - Build locally: run
composer install --no-devandnpm run buildon your own machine, because you can’t run npm on the server. Don’t uploadnode_modules. - Environment settings: use
SESSION_DRIVER=file,CACHE_DRIVER=fileandQUEUE_CONNECTION=sync. There’s no Redis or Memcached. - Contact form: there’s no email service, so you’ll need an external SMTP provider.
- Database: use the MySQL host shown in your members area, not
localhost. - What can’t run: cron jobs and scheduled tasks, queue workers, and WebSockets.
Does your app rely on the scheduler or queue workers for anything? A portfolio with a contact form and CRUD admin usually doesn’t, but those are the ones that can’t run here.