PHP · 8.3
PHP hosting, 24/7
Send the zip of your site, point MAIN at index.php and publish it: the application runs in an isolated container, serves on the port declared in PORT and gets a subdomain with a certificate issued by the platform.
Who designed PHP
Rasmus Lerdorf, a Danish-Canadian, started in 1994 a set of CGI binaries for his own homepage — a hit counter, a form, a way to mix logic into HTML. In 1995 he released that as Personal Home Page Tools. In 1997 Zeev Suraski and Andi Gutmans rewrote the parser; the next year PHP 3 turned the name into PHP: Hypertext Preprocessor and the language stopped being a personal kit. The model stuck: the file the server finds is the one that answers, in the same document the HTML already lived in.

Rasmus Lerdorf
William Stadtwald Demchick · CC BY-SA 4.0
The page on the server
PHP exists to generate HTML on the server, not as a systems binary and not as a script in the browser. The file you request is the one that answers.
Logic mixed into HTML
It started as macros in the document. The difference from “pure” languages is that: the template and the program lived in the same file, on purpose.
One request, one document
Each visit invokes the script again. Forms, cookies and headers landed in the language because everyday life was HTTP, not a systems API.
What the platform does for a PHP project
The essentials come configured on every PHP application here; the features that depend on your plan are flagged in the card.
Declared port and automatic TLS
Once published, the application answers on a vertraweb.app subdomain with a certificate issued and renewed by the platform, and HTTP traffic is redirected to HTTPS. In vertracloud.config, PORT declares the exposed port — one per application.
Two versions, one config line
8.3, which is both the recommended and the latest, and 8.2. Switching means changing VERSION in vertracloud.config and deploying again — there is no image to pick and no Dockerfile to maintain.
Auto-restart with a brake
A fatal error does not leave the site down until somebody notices: the process is restarted on its own, on every plan. If it breaks 5 times in 10 minutes, the platform flags a crash loop and turns auto-restart off for 24 hours. Exiting with code 0 does not trigger a restart.
Live logs and metrics
stdout and stderr show up in the dashboard terminal as they happen, with the container's CPU, RAM and storage next to them. The last error before a crash is kept.
What people run in PHP here
Almost always something that answers HTTP — and the same container serves pages, endpoints and panels.
Websites and company pages
A company site, a landing page or a blog written in PHP. Send the zip, point MAIN at index.php and publish it to get the subdomain with TLS.
APIs and webhooks
An endpoint that receives a payment gateway callback, a GitHub webhook or a third-party integration. It is 1 exposed port per application, the one declared in PORT.
Panels and internal tools
A tool your team uses in the browser, reachable through the subdomain over HTTPS. From the Intermediary plan on, it can also answer on a domain of your own.
PHP with a managed database
Create a MySQL 8.0 or a PostgreSQL 17 in the same dashboard and connect over the internal host. TLS is mandatory on every database; the certificate and the password are generated by the platform and available to download.
Available PHP versions
8.3 is both the recommended and the latest one. To pin 8.2, declare VERSION in vertracloud.config.
| Version | vertracloud.config | Status |
|---|---|---|
| 8.3 | VERSION=8.3 | RecommendedLatest |
| 8.2 | VERSION=8.2 |
The whole configuration
vertracloud.config is an optional INI file at the root of the project. MAIN points at index.php; VERSION picks the PHP; PORT=80 exposes the site; MEMORY sets the container's RAM ceiling.
NAME=meu-site
MAIN=index.php
VERSION=8.3
PORT=80
MEMORY=512A plan for every stage of the project
Memory and storage change with the plan; the language does not. Compare what each plan unlocks and pick the one that fits the project today.
Compare plansAlso runs here
Same platform, same deploy, a different stack.
Frequently asked questions about PHP hosting
Version, vendor and the site address: the three things that raise most PHP questions.
Which PHP versions can I use?
8.3, which is the recommended one and also the latest, and 8.2. The choice is made through the VERSION key in vertracloud.config; without it, the application starts on the recommended version.
Do I have to send the vendor folder in the zip?
No — leave vendor/ out of the package. Dependencies are installed on the server during the build, and the zip accepts at most 100 MB: shipping the folder ready only pushes you towards that ceiling for nothing.
How does my site get an address?
By publishing the application: it gets a vertraweb.app subdomain with automatic SSL. Publishing requires 512 MB of allocated RAM and is available from the Pro plan on; choosing the subdomain name requires Scale, and below it the platform draws a name for you.
Where do I keep the database password and API keys?
In the environment variables tab of the dashboard: they are injected into the container at startup and kept encrypted at rest. Up to 25 variables, keys of up to 100 characters and values of up to 1,000. The platform does not load .env files.
Can I point my own domain at the site?
Yes, from the Intermediary plan on. Set a CNAME record pointing at the address shown in the dashboard; SSL is provisioned after DNS validation. It is 1 custom domain per application.
Deploy your PHP project today
Create the account, send a zip or connect the GitHub repository, and publish it to get the subdomain with TLS.
Create account