Repository navigation
Host requirements
Edward Baitsewe edited this page Nov 12, 2026
·
2 revisions
Slim Killer runs on ordinary shared hosting. The public website is plain files, so the host only needs PHP for the control panel and for fetching new builds. Run hammer doctor to check a host; this page explains what it checks and why.
Every requirement below comes from testing on a real shared host, not from guesswork.
On shared hosting the website and the command line often run different PHP
versions with different settings. On the host we tested, websites ran PHP 8.4 while the
plain php command was 8.3, and the command line had more functions disabled. Both are
checked, separately.
| What | Why |
|---|---|
| PHP 8.4 or newer, for the website and for the command line | Slim Killer's code uses PHP 8.4. On the command line, naming the full path of a PHP 8.4 binary is fine (for example /opt/alt/php84/usr/bin/php). |
Extensions: curl, openssl, json, pdo_sqlite, zip, gd, mbstring, fileinfo
|
Talking to GitHub, encryption, the control panel database, unpacking builds, resizing photos, text in any language, checking uploads. |
These functions not disabled: curl_init, curl_exec, fopen, file_put_contents, rename, unlink, mkdir, rmdir, flock, random_bytes, hash_hmac
|
Saving, fetching and switching builds. |
Outgoing HTTPS to api.github.com and codeload.github.com
|
Saves are committed through the GitHub API; builds are downloaded from codeload. |
.htaccess rewrites (Apache mod_rewrite with AllowOverride, or LiteSpeed) |
The site is switched to a new build by changing one rewrite rule. |
Options -Indexes allowed in .htaccess
|
Keeps the folders of old builds from being listed. |
| A writable folder outside the web root | The control panel's code, database and secrets never sit where a browser can reach them. |
| If this is missing | Slim Killer does this instead |
|---|---|
sodium extension |
Uses openssl for encryption. (It was missing on every PHP version on the host we tested.) |
intl extension |
Dates and numbers fall back to plain formats. |
| GD cannot write WebP | Uploaded photos are saved as JPEG (larger files). |
exec, shell_exec, system, passthru, proc_open, popen, symlink disabled |
Nothing. Slim Killer never runs shell commands or makes symlinks, so this is fine. |
Default php command is too old |
Use the full path of a newer binary in cron and for hammer. The doctor finds it. |
| Setting | Recommended | Why |
|---|---|---|
memory_limit |
128 MB or more | Re-encoding large photos. Fetching a 30 MB build used under 25 MB. |
max_execution_time |
30 seconds or more | Fetching and switching a real 30 MB, 217-file build took 2 to 3 seconds. |
upload_max_filesize and post_max_size
|
10 MB or more | Photos straight from a phone are often 5 to 10 MB. |
| Cron | every minute | Picks up new builds and runs background jobs. Set it in your host's control panel; the doctor gives the exact line. |
| Host and plan | Result | Notes |
|---|---|---|
| Hostinger Premium (shared, LiteSpeed, CloudLinux) | Works | Website PHP 8.4. Command line defaults to PHP 8.3: use /opt/alt/php84/usr/bin/php. All PHP versions from 5.6 to 8.5 installed. No sodium. Cron every minute works. No Node.js, which Slim Killer does not need. LiteSpeed does not reliably show an ErrorDocument page behind rewrites, so Slim Killer answers missing pages with a small script instead. Hostinger's CDN (server: hcdn) sits in front and passes the 404 page through. A build goes live about 2 seconds after its webhook call. |
Tried another host? Run php hammer doctor there and open an issue with the output.