# System Requirements

https://docs.wisecp.com/es/system-requirements

Before you install WISECP, the server has to meet a short list of requirements. The installer checks every one of them for you and refuses to continue while a required item is missing.

## Opening the Check

You do not have to verify anything by hand. Upload WISECP, open `install.php` in a browser, and the third step of the wizard lists every requirement with its current value and a fix hint for the ones that fail. The step is re-runnable: fix the server, click the refresh control, and the list is measured again.

### Checking Before You Buy

You can measure the same requirements before you buy WISECP. Download the checker, unzip it, then upload `wisecp-requirements.php` to your domain's web directory. Open it in a browser and the page states the verdict.

If something is missing, click **Copy Server Report** and send the report to your hosting provider. The checker only reads your settings. It changes nothing and sends nothing anywhere, so delete the file with the link on the page when you are done.

> **Download the Checker**
> 
> [wisecp-requirements.zip](https://www.wisecp.com/files/wisecp-requirements.zip?v=0b536185) · one file, nothing to install.

## What the Step Shows

Each requirement is one row: its name, the value measured on this server, and a pass, warning or failure mark. Failing rows carry a fix hint. A required item that fails blocks the Continue button; a warning does not.

## Requirements

### PHP

- **PHP version**: 8.2 or newer. Anything older fails the check.
- **memory_limit**: 256 MB or unlimited is recommended. A lower value is a warning, not a blocker.
- **max_execution_time**: 60 seconds or unlimited is recommended. A lower value is a warning.
- **Sessions**: PHP sessions have to work. The installer writes a probe value and reads it back on the next request.

### Required Extensions

All of these are required. The installer reports each one separately, so you see exactly which is missing.

- **ionCube Loader**: Version 12.0 or newer. An older loader fails the check even though the extension is present.
- **PDO MySQL**: The database driver WISECP connects through.
- **MySQLi**: Used alongside PDO by parts of the installation.
- **cURL**: Outbound calls: licensing, modules, payment gateways, registrars.
- **OpenSSL**: Encryption and secure connections.
- **mbstring**: Multi-byte text, needed by every non-Latin language.
- **intl**: Currency and number formatting per locale.
- **GD**: Image handling: logos, avatars, uploaded pictures.
- **zlib**: Compression, used by backups among others.
- **JSON**: Data exchange throughout the application.

### Required Functions

- **idn_to_ascii**: Converts international domain names. Domain features depend on it.
- **glob**: Directory scanning. Modules and themes are discovered with it.

### Writable Paths

Four locations have to be writable by the web server user. The installer names the ones that are not.

- **coremio/configuration/general.php**: Installation stamp and general settings.
- **coremio/configuration/database.php**: Database connection, written at the end of the wizard.
- **coremio/storage**: Cache, temporary files and runtime state.
- **resources/uploads**: Everything uploaded through the panel.

### Database

MySQL 8.0.13 or newer, or MariaDB 10.3 or newer, with a database and a user created in advance. The installer does not create them for you. It connects with what you enter, then reports the server version and whether the account can create tables. An account without full privileges on that database stops the installation.

### Web Server

Apache, LiteSpeed or nginx. URL rewriting is checked separately and is a warning rather than a blocker: without it WISECP still runs, but on plain addresses instead of readable ones. You can turn readable addresses on later from the panel once rewriting works.

Source file protection is checked as well, independently of rewriting. The installer fetches one of its own template files from the site address. It reports "Downloadable" when the server hands the file back as it is. Template sources, notification templates and backups live inside the web root. A server that ignores the package's `.htaccess` files lets anyone who knows the address download them. nginx never reads those files; Apache with AllowOverride None ignores them too. The fix is named for your server. On nginx, copy the DENY section of `nginx.conf.example` from the installation folder into the site configuration. On Apache, make sure the `.htaccess` files are read. Setup continues either way. The same check runs later from Help → Health Status and as the first required step of the Getting Started guide.

## Things to Watch

> **A warning is not a failure, and both matter**
> 
> Memory, execution time and URL rewriting are reported as warnings, so the installer lets you continue. They still shape how the panel behaves afterwards: a low memory limit shows up later as failed imports and backups, not as an installation error.

> **The command line and the web server can disagree**
> 
> Scheduled tasks run under the command-line PHP, which often has its own configuration and its own disabled-function list. A requirement that passes in the browser can still be missing for cron. Check both when something works in the panel but not on schedule.

## Related Articles

- [Installing WISECP](https://docs.wisecp.com/en/installing-wisecp)
- [Setting Up Scheduled Tasks](https://docs.wisecp.com/en/scheduled-tasks-setup)
- [System Health](https://docs.wisecp.com/en/system-health)
