Understanding PHP memory_limit, upload_max_filesize, post_max_size, and max_execution_time is a practical Spark Rack customer guide about website roots, HTTP behavior, PHP, application settings, and web-server responses. It is written for readers who may not administer servers every day, but who still need enough detail to understand what a setting or error means, make a safe change, verify the result, and know when the problem must be escalated.
Use the exact values displayed for the selected account, domain, mailbox, database, or hosting service. Hostnames, usernames, ports, paths, limits, and available controls can differ by product. Never substitute a value copied from another service merely because the labels look similar.
Plain-language meaning
Understanding PHP memory_limit, upload_max_filesize, post_max_size, and max_execution_time describes a group of related service concepts. The labels matter because each item is controlled in a different place and changing the wrong item can leave the original problem untouched.
How the related parts fit together
Start with the customer-facing result, then trace it backward. A website URL depends on a domain name; the domain delegates to nameservers; DNS records direct traffic; the hosting service answers the connection; the web application may use PHP and a database; email uses its own DNS and mailbox protocols. A correct value in one layer does not prove that the next layer is correct.
| Question | What it identifies | Where to verify |
|---|---|---|
| What name or account is being used? | The exact domain, hostname, mailbox, username, database, or service | ECP and the client configuration |
| Who controls it? | Registrar, DNS host, Spark Rack service, application, or third party | Domain and service records |
| How is it reached? | Protocol, server, port, record, path, or URL | Connection details and public tests |
| What proves success? | A received message, correct DNS answer, trusted certificate, loaded page, successful query, or transferred file | An independent end-to-end test |
Start with the correct service and evidence
In ECP, begin in Services, Websites, PHP, logs, SSL, files, and domain settings. Record the current value before changing it. A useful troubleshooting record separates what is known from what is assumed and preserves the exact timestamp of every test.
| Step | Check | Purpose |
|---|---|---|
| 1 | Test the exact URL and note the HTTP status code. | Identity and scope |
| 2 | Confirm the active document root and whether a static test file loads. | Current configuration |
| 3 | Review web-server and PHP logs at the same timestamp. | Independent test |
| 4 | Undo the most recent file, PHP, redirect, or application change when the failure began immediately afterward. | Evidence and rollback |
Common misunderstandings
- Similar names are treated as interchangeable even though they refer to different systems.
- A control-panel save is treated as proof that public traffic has changed.
- A cached result is mistaken for the current authoritative state.
- A username from one feature is reused for another feature.
- A service limit or lifecycle state is confused with an application error.
- An encrypted connection is assumed to prove that the destination itself is correct.
Practical verification
- Write down the exact term, value, and context shown on screen.
- Identify the controlling layer and open the matching ECP section.
- Compare the saved value with the client, application, DNS, or browser value.
- Perform one direct test that does not depend on a cached application session.
- Record the result and timestamp.
- Only then make one change at a time.
When to ask for clarification
Contact Spark Rack when the same label appears to mean different things in two service areas, the needed control is not available for an otherwise eligible service, or an irreversible action depends on understanding the term correctly. Include the exact page, label, service, and intended outcome; do not send an active password.
How the PHP limits interact
| Setting | Purpose |
|---|---|
| memory_limit | Maximum memory a PHP request may allocate. |
| upload_max_filesize | Maximum size of one uploaded file handled by PHP. |
| post_max_size | Maximum size of the entire POST request; it must be large enough for the uploaded file plus form overhead. |
| max_execution_time | Maximum time a PHP script may execute before it is stopped, subject to server behavior. |
Raising a limit is not a substitute for fixing a memory leak, oversized import, or long synchronous task. Change only what the application requires.
Reference checklist
- Test the exact URL and note the HTTP status code.
- Confirm the active document root and whether a static test file loads.
- Review web-server and PHP logs at the same timestamp.
- Undo the most recent file, PHP, redirect, or application change when the failure began immediately afterward.
- Also consider whether the request is reaching the wrong website or document root.
- Also consider whether a recent file or application change introduced an error.
- Also consider whether PHP or a required extension is incompatible.
Security and change-control notes
Use a unique credential for each service identity, store it in an approved password manager, and remove access when a person or vendor no longer needs it. Before editing production data or configuration, keep a restorable copy and a record of the original value. Do not expose passwords, private keys, payment data, recovery codes, or full database contents in screenshots or normal support messages.
After the task is complete, verify renewal dates, notification recipients, and dependent services. Many recurring problems are caused by a technically correct change that was never updated in a second client, application configuration file, DNS provider, forwarding rule, scheduled task, or external integration.
Extended diagnostic sequence
- Confirm scope: one user, one device, one network, one domain, one mailbox, one database, one service, or all customers.
- Record the last known-good time and every relevant change after it.
- Check account and service lifecycle status, billing status, permissions, and notices.
- Test the most direct supported connection without optional plugins, proxies, caches, or integrations.
- Compare the working and failing paths one variable at a time.
- Preserve exact logs and responses before clearing caches or resetting credentials.
- Restore the last known-good value when the failure began immediately after a reversible change.
- Retest from an independent client or network and observe for delayed processing.
- Document the final cause and remove temporary workarounds.
