Four free PHP hosts, running the same application on live deployments you can open right now. Not a feature list copied from four pricing pages: a catalogue of 1,500 public-domain books in MySQL — a paginated listing with a cover on every card, and a detail page behind each one — deployed identically to each, plus a capability probe that reports what each account can actually do.
The links below are live. Open them and judge the speed yourself; the numbers here are only useful if you can check them.
-
InfinityFree
toolfreebie.kesug.comAlso: capability probe
-
AwardSpace
tfbench.atwebpages.comAlso: capability probe
-
FreeHostingEU
ss001.eu5.netAlso: capability probe
-
ProFreeHost
toolfreebie.liveblog365.comAlso: capability probe
What Each Account Can Actually Do
| InfinityFree | ProFreeHost | AwardSpace | FreeHostingEU | |
|---|---|---|---|---|
| PHP | 8.3.19 | 8.3.19 | 8.4.25 | 8.4.25 (default 7.3.33) |
| memory_limit | 512M | 512M | 128M | 128M |
| max_execution_time | 60s | 60s | 30s | 30s |
| upload_max_filesize | 20M | 20M | — | — |
| HTTPS that validates | yes | yes | no | no |
| Outbound from PHP | yes | yes | blocked | blocked |
| exec / shell_exec | disabled | disabled | allowed | allowed |
| PostgreSQL driver | no | no | yes | yes |
| Rewrites uploaded images | yes | yes | no | no |
| Reachable by a script | no | no | yes | yes |
| Archive upload | allowed | — | blocked | blocked |
| Disk | 5 GB | 5 GB | 1 GiB | 200 MiB |
| Inode limit | 80,000 | 80,000 | — | — |
| Traffic | 50,000 hits/day | 50,000 hits/day | 5 GiB/mo | 4 GiB/mo |
| MySQL server | MariaDB 11.4.13 | MariaDB 11.4.13 | — | — |
| MySQL wait_timeout | 20s | 20s | — | — |
| MySQL databases | unlimited (panel) | unlimited (panel) | 1 (30 MiB) | 1 (30 MiB) |
| DB password | reuses account login | reuses account login | separate | separate |
Measured, Not Advertised
Same application, same 1,500-row dataset, same day. Listing-page figures are the median of five requests, because a single reading is noise: AwardSpace returned 28.5 ms once and 16.4 ms a minute later.
| InfinityFree | ProFreeHost | AwardSpace | FreeHostingEU | |
|---|---|---|---|---|
| Listing page render | 4.3 ms | 4.0 ms | 18.3 ms | 13.6 ms |
| MySQL connect | 1.2 ms | 1.2 ms | 4.6 ms | 3.9 ms |
| MySQL listing query | 2.6 ms | 2.3 ms | 12.2 ms | 8.7 ms |
| Detail page render | 4.4 ms | 3.9 ms | 19.2 ms | 7.9 ms |
| Detail page: key lookup | 1.1 ms | 1.0 ms | 2.5 ms | 1.0 ms |
| Detail page: related queries | 1.0 ms | 1.0 ms | 6.1 ms | 2.9 ms |
| Import 1,500 rows | 113 ms | 152 ms | 1,085 ms | 1,289 ms |
| Probe response | 1,190 ms | 1,160 ms | 12 ms | 7 ms |
| Database engine | MariaDB 11.4.13 | MariaDB 11.4.13 | MySQL 8.0.32 | MySQL 8.0.32 |
The iFastNet pair is three to four times quicker on every database figure and roughly ten times quicker at the bulk import, on a page doing identical work. Their probe looks catastrophic by comparison and is not: almost all of those 1,160 ms are three outbound network tests completing, which the other two "win" by refusing outbound connections in about 7 ms. Fast because nothing connects.
The two related-query figures are the widest gap in the table: two indexed reads cost 1.0 ms on the iFastNet pair against 2.9 and 6.1 ms on the AwardSpace pair. Note how the iFastNet numbers were obtained — the page writes its own timings to a file, because nothing scripted can read those sites, so a person had to open the URL once and the figures were then collected over FTP. That is not a quirk of our method; it is what "cannot be automated" costs you in practice.
The Number Nobody Publishes
InfinityFree and ProFreeHost both advertise 50,000 hits a day. A hit is every file request, not every visitor. This page is one HTML document plus twelve distinct covers — 13 requests. So the real ceiling is:
about 3,800 page views a dayNot 50,000 visitors — and count distinct URLs, not what the page appears to show. An earlier version of this page displayed sixty cards drawn from eight image files, and cost nine requests rather than the sixty-one we first published here. Sixty distinct images would have meant 819 views a day; eight cycled ones, 5,500. Nothing on the signup page does that division for you.
Three Things That Decide It
1. Two of these have no working HTTPS
AwardSpace and FreeHostingEU answer on port 443 with a certificate issued for
f28-preview.runhosting.com. That name is the only entry in the
certificate, so a browser visiting your site gets a full-page security warning.
This is not a misconfiguration to fix: SSL is a paid feature. In 2026 that rules
them out for anything with a login form, and search engines treat it accordingly.
2. The two limitations are opposites
InfinityFree lets PHP reach the internet but disables exec and
its whole family. AwardSpace and FreeHostingEU allow exec,
shell_exec, proc_open and popen — and then
block every outbound connection, refusing in about 7 ms. You get a shell that
cannot reach anything, or network access with no shell. Wanting both means
leaving the free tier.
Outbound matters more than it sounds: without it WordPress cannot update itself, OAuth logins fail, payment callbacks break, and no third-party API call works from PHP.
3. The iFastNet pair cannot be automated at all
Every scripted request to InfinityFree or ProFreeHost gets a JavaScript challenge page instead of the site — served with HTTP 200, so a naive check thinks it succeeded. It cannot be monitored by an uptime service, cannot serve an API, cannot be health-checked, and a script cannot even tell whether a file exists, because a missing file returns 200 too. Only a real browser gets through.
AwardSpace and FreeHostingEU Are One Platform
Technically, registering both gains you nothing — though there is one
practical reason to, below. Every runtime value we did not set ourselves is
identical: memory limit, execution time, blocked outbound, allowed
exec family, the same four database drivers, probe timings within a millisecond.
Their control panels are the same software on adjacent IPs, and the database
servers they handed out are fdb1028 and fdb1027 with
the same 30 MiB quota.
They differ only in allowance: 1 GiB versus 200 MiB of disk, 5 versus 4 GiB of traffic, 3 versus 5 subdomains.
The reason to register a sibling brand anyway is accounts, not servers. InfinityFree's terms allow three free accounts per person and terminate all of them if you register a fourth. When you need one more site, a second email address on the same brand is the move that costs you everything; a different brand on the same platform is the one that does not.
What Each Platform Does to Your Files
This is the difference we did not expect to find, and it is invisible until you check.
iFastNet re-encodes every image you upload. Send a JPEG over
FTP, read it back, and you get a different file — carrying a
CREATOR: gd-jpeg comment the original never had. JPEG grew 24%, PNG
9%, GIF shrank 6%; our 1,500 book covers went from 25 MB to roughly 30 MB.
Dimensions are preserved, so nothing looks wrong. Anything appended after the
JPEG end marker is deleted, which is almost certainly the point: re-encoding
destroys payloads hidden inside image files. The cost of that defence comes out
of your disk quota and your visitors' bandwidth.
It is also asynchronous. A file we uploaded measured 12,918 bytes at two seconds and 15,982 bytes at five. A deploy script that verifies immediately after upload — the obvious way to write one — passes, and is wrong moments later. Ours did.
The AwardSpace pair leaves your files alone, but will not serve
images to anyone else. Requesting a cover directly returns
403; the same URL with a same-site Referer returns
the image. Hotlink protection is on and not optional, so a browser loading your
page is fine while a direct link, a scraper or any script is not. You cannot use
these accounts as an image host, and you cannot share an image URL.
Two Things the Limits Pages Do Not Mention
Inactivity closes the account. FreeHostingEU told us directly: "Your free hosting account had been disabled because you had not logged into your profile for 1 year." A free tier you forget about is a free tier you lose.
Both threw a 502 during testing. Once each, on an otherwise healthy request, recovering immediately. A single check would have called it either fine or dead; neither would be true.
How this was measured, and what these numbers are not
Same artifact everywhere. One PHP application: a 12-card
page listing books from a 1,500-row MySQL table, each with its own cover, loaded
eagerly; and a detail page that does a primary-key lookup plus two indexed
related-item queries, timed separately, because a listing scan and a keyed
lookup stress a shared host differently. Book metadata and cover images from
Project Gutenberg (public domain) — an earlier version used film titles,
which meant inventing the images, so every card was a small lie. Nothing is
cached: every response is sent no-store, so a figure times the host
rather than a cache.
Deliberately not a hello-world. A one-line PHP file is served quickly by every host alive, and the difference disappears into noise. A page with a real database query, a real template and real images is what a reader is actually going to deploy, so it is what we deploy.
Platform defaults versus our settings. This distinction matters and is easy to get wrong. The PHP version on FreeHostingEU was switched by hand, so it says nothing about the platform. Everything else in the first table is what the account came with. When we compare two hosts, only the values neither of us touched are evidence.
What these numbers are not. They are one measurement on one day from one location. They are enough to show a blocked port, a missing certificate or a wrong headline figure — facts that do not vary. They are not enough to rank two hosts by speed: for that you need repeated measurement over weeks, which is why the transient 502s above matter more than the millisecond differences.
The application, the probe and the measurement script are at github.com/build996/free-tier-bench. Deploy it to a host we have not covered and you will get a comparable set of numbers.
Deployed and measured 9 September 2026. FreeWHA was to be included; its signup is now closed.