How can I check my PHP version and Laravel 13 compatibility?

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 htdocs and can’t be changed. You upload the whole app there and use two .htaccess rules to route requests into public. This keeps .env from being reachable.
  • Uploads: symlinks aren’t supported, so php artisan storage:link won’t work. The article gives a rewrite rule that serves storage/app/public instead.
  • Build locally: run composer install --no-dev and npm run build on your own machine, because you can’t run npm on the server. Don’t upload node_modules.
  • Environment settings: use SESSION_DRIVER=file, CACHE_DRIVER=file and QUEUE_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.