PHP (generic) on CloudMagnus

A bare PHP site with the runtime ready and the directory yours to populate. No framework imposed.

What our scaffold installs

  • A placeholder htdocs/index.php that says "PHP site ready."
  • nginx vhost configured for PHP (FastCGI to PHP-FPM, the standard try_files $uri /index.php?$args rewriting)
  • PHP-FPM running the version you picked at site creation (8.1, 8.2, or 8.3)
  • No database. PHP-generic doesn't get one because we don't know whether you'd want MySQL or Postgres or none. If you want one, contact support and we'll provision it.

What you do next

  1. Replace htdocs/index.php with your own.
  2. Upload the rest of your site via SFTP into htdocs/.
  3. If you need composer, SSH in and run composer install in your project directory.

If you want WordPress, Laravel, or another framework

Pick the specific framework type in the wizard rather than PHP-generic. Those types have their own scaffolds that handle the framework install and (for WordPress and Laravel) the database wiring.

If you've already created a PHP-generic site and want to switch to a framework type, the cleanest path is delete + re-add with the right type. Switching types in place is not currently supported.

Composer

Available globally on the server. From SSH: composer --version works inside any site directory. composer install reads your composer.json and installs into vendor/.

Environment variables

Use a .env file (parsed by your code) or set them in nginx via the fastcgi_param directive (contact support if you need this; we don't currently expose vhost edits in the dashboard).

Common PHP issues

White screen, no error

PHP-FPM has display_errors = Off in production. Check the error log: SFTP into logs/ and look for the most recent PHP-FPM error file.

"This page isn't working" with 502

Usually means PHP-FPM crashed on a fatal error. The same error log will show the cause. Common: out-of-memory on a large data load.

upload_max_filesize too small

Default is 100 MB. For larger uploads, contact support and we'll bump the per-site PHP-FPM pool config.