# Pre-requisites

### PHP Version&#xD;

QwikTest requires PHP `v7.4` with the following extensions enabled. PHP `7.4.10` is recommended.

* OpenSSL PHP Extension
* PDO PHP Extension
* Mbstring PHP Extension
* Tokenizer PHP Extension
* XML PHP Extension
* Ctype PHP Extension
* JSON PHP Extension
* ZIP PHP Extension
* FileInfo PHP Extension
* BCMath PHP Extension
* GD PHP Extension

### MySQL Version

QwikTest requires a MySQL database with support for JSON columns. MySQL `5.7.24` is recommended. Currently, we only tested MySQL and MariaDB. PostgreSQL is not yet tested.

### Hosting Services

QwikTest requires Linux-based shared hosting with CPanel or Cloud VPS.  While QwikTest works just fine on shared hosting, there might be limitations; thus, we suggest using a VPS for better performance.

QwikTest works on all major managed hosting providers (GoDaddy, NameCheap, BlueHost, SiteGround, HostGator, etc.) and Cloud Providers (AWS, GCP, Azure, DigitalOcean, etc.)

#### Our Demo is powered by Digital Ocean VPS.

[![DigitalOcean Referral Badge](https://web-platforms.sfo2.cdn.digitaloceanspaces.com/WWW/Badge%201.svg)](https://www.digitalocean.com/?refcode=899d01009f04\&utm_campaign=Referral_Invite\&utm_medium=Referral_Program\&utm_source=badge)

### Application Server

QwikTest works on both Apache and NGINX. QwikTest is not compatible with the Hostinger LiteSpeed web server.

### SMTP Mail Configuration

The application **MUST HAVE** a working SMTP configuration for user registration and password resets. Without it, you will get an error 500 on registration.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nearchip.gitbook.io/qwiktest/installation/pre-requisites.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
