feat: implement user guide documentation in multiple languages and add IPC infrastructure for UI components

This commit is contained in:
Ümit Tunç
2026-04-02 17:16:52 +03:00
parent baf1739f6d
commit 0a67fda211
32 changed files with 1594 additions and 9 deletions
+46
View File
@@ -0,0 +1,46 @@
# MariaDB Database Management
Multi-PHP provides a comprehensive toolset for managing MariaDB databases, from GUI-based wizards to deep process monitoring.
---
## 📊 Database & User Management
Multi-PHP gives you easy access to creating and managing MySQL/MariaDB databases and users:
- **Create Database**: Quickly create a new database with its own name.
- **Manage Users**: Create new database users, set passwords, and manage permissions.
- **List Databases**: View all existing databases and their usage statistics.
---
## 🧙 MariaDB Import & Export Wizards
Our intelligent wizards take the complexity out of moving data:
### **Import Wizard (SQL/Archive)**
- Select a `.sql`, `.zip`, or `.sql.gz` file.
- Choose your target MariaDB server and database.
- Multi-PHP handles the rest, automatically extracting files and importing data into the chosen DB.
### **Export Wizard (Backup)**
- Select the database you want to export.
- Choose if you want to compress the file using Gzip (`.gz`).
- Save the file to your desired location.
---
## 🕒 MariaDB Process Monitor
Monitor your database's activity in real time. Our Process Monitor shows:
- **Active Connections**: Who is currently connected to the database.
- **SQL Queries**: The exact SQL being executed and how long it's taking.
- **Kill Processes**: Instantly terminate any stuck or problematic database connections.
> [!TIP]
> Need a more traditional web-based interface? Go to the **"Tools"** menu and install **phpMyAdmin** with just one click.
### 📖 Next Steps
- [Learn how to manage Nginx & Apache Servers](./web-servers.md)
- [Manage CLI and System Integration](./settings.md)
- [Troubleshooting Common Issues](./troubleshooting.md)
+39
View File
@@ -0,0 +1,39 @@
# Introduction & Quick Start
Welcome to **Multi-PHP**, the all-in-one local development environment for Windows. This guide will walk you through the first steps and help you get your environment up and running.
---
## 🚀 Quick Start
Follow these steps to get started with your first PHP project:
1. **Launch Multi-PHP**: Open the application from your desktop or start menu.
2. **Dashboard Overview**: On your first launch, you'll see the Dashboard. This is your control center for all services.
3. **Download PHP**: Go to `Settings > PHP Versions` and download at least one PHP version (e.g., PHP 8.3).
4. **Start Services**: Click the **"Start All"** button on the Dashboard to launch Nginx/Apache and MariaDB.
5. **Create a Project**: Navigate to the **"My Projects"** tab and add your first project folder.
---
## 🏢 Core Components
Multi-PHP bundles several essential tools for modern web development:
| Component | Description |
| :--- | :--- |
| **PHP-FPM** | High-performance FastCGI process manager for PHP. |
| **Nginx** | Modern, lightweight, and fast web server. |
| **Apache** | Robust, traditional web server with `.htaccess` support. |
| **MariaDB** | The community-developed, commercially supported fork of MySQL. |
| **phpMyAdmin** | Web interface for easy database management. |
---
> [!IMPORTANT]
> Some services might fail to start if their default ports (80, 3306) are already being used by other applications (like Skype or another XAMPP installation). Check the **"Settings"** to change these ports if needed.
### 📖 Next Steps
- [Learn how to manage Projects](./projects.md)
- [Configure PHP Versions & Extensions](./php.md)
- [Manage MariaDB Databases](./database.md)
+43
View File
@@ -0,0 +1,43 @@
# PHP Versions & Extensions Management
Multi-PHP makes it easy to switch, configure, and manage different PHP environments for your projects.
---
## 🔩 Managing PHP Versions
Navigate to `Settings > PHP Versions` to download, select, and manage multiple PHP versions.
- **Available Versions**: List of all PHP versions available for download.
- **Downloaded Versions**: Versions already present on your system.
- **Default Version**: The global PHP version typically used for CLI (e.g., in a terminal).
- **Restart Delay**: Multi-PHP automatically restarts PHP-FPM when settings change.
---
## 🛠️ PHP Extension Manager
Every PHP version in Multi-PHP comes with its own extension manager. You don't need to manually edit `php.ini` for common tasks anymore.
### Using the Manager:
1. **Select Extension**: Find your desired extension (e.g., `mysql`, `gd`, `zip`).
2. **Toggle**: Click to enable or disable the extension.
3. **Apply**: Multi-PHP will update the `php.ini` file for you and restart the version's service automatically.
---
## 📝 Raw Editing of `php.ini`
If you need fine-grained control over your PHP configuration, use the built-in **RAW EDITOR**.
1. **Open Editor**: Access the editor button in the extensions window.
2. **Save & Restart**: Click "Save and Restart" to apply changes immediately.
3. **Search & Replace**: Use the search functionality to find specific variables like `memory_limit` or `max_execution_time`.
> [!TIP]
> You can also use the **"Server Tuning"** tool under the "Tools" menu to quickly adjust common PHP performance settings without manually editing code files.
### 📖 Next Steps
- [Learn how to manage MariaDB Databases](./database.md)
- [Configure Web Servers](./web-servers.md)
- [System Integration](./settings.md)
+42
View File
@@ -0,0 +1,42 @@
# Virtual Hosts & Project Management
Managing your local PHP projects in Multi-PHP is simple and effective. Our platform automatically handles virtual host configuration for you.
---
## 🏗️ Adding Your First Project
To add a new project, navigate to the **"My Projects"** tab and click on the **"Add New Project"** button.
### Fields to Fill:
- **Project Name**: A descriptive name for your local project.
- **Project Path**: The absolute path to your project folder.
- **Host / Domain**: The local domain to use (e.g., `test-site.local`).
- **PHP Version**: Choose which PHP-FPM version will run this project.
- **MariaDB Version**: Choose the MariaDB version to use (Default: Latest).
- **Server Type**: Decide between **Nginx** (Modern, High-performance) or **Apache** (Supports `.htaccess`).
---
## 🛠️ Managing Projects
Each project in your list has a set of actions:
1. **Browse File System**: Quickly open your project folder.
2. **Open in Browser**: Open your local domain in your default browser.
3. **Configure Server**: Edit specific Nginx/Apache configs just for this project.
4. **Edit Project Settings**: Change PHP version, server type, or project paths.
5. **Delete Project**: Remove it from the list (does not delete files).
---
## 🌐 Automatic Virtual Hosts
Multi-PHP's configuration engine automatically generates the necessary virtual host files for Nginx and Apache. When you start the services, they will be aware of all your local domains.
> [!WARNING]
> You may need to edit your system's **`hosts`** file manually if you are using custom domains like `.local` or `.dev`. Multi-PHP tries its best to manage this, but some system permissions may require manual intervention.
### 📖 Next Steps
- [Configure PHP Versions & Extensions](./php.md)
- [Manage MariaDB Databases](./database.md)
- [System Integration](./settings.md)
+43
View File
@@ -0,0 +1,43 @@
# System Settings & CLI Integration
Multi-PHP provides a robust way to integrate your local development environment directly into your operating system's command line.
---
## 💻 CLI & System PATH Integration
Access your PHP and MariaDB binaries directly from any terminal window (CMD, PowerShell).
### Setting Up CLI Access:
1. Navigate to `Settings > CLI & Environment Variables`.
2. Enable **"System PATH Integration"**.
3. Choose your **"Default PHP Version"** (this is what runs when you type `php` in a terminal).
4. Choose your **"Default MariaDB Version"** (for `mysql` and `mariadb` commands).
5. Click **"Sync Commands"** to apply changes.
### Generated Commands (Aliases):
Multi-PHP automatically creates and manages version-specific commands for you:
- `php83`: Triggers PHP 8.3 binary.
- `php74`: Triggers PHP 7.4 binary.
- `mysql`: Triggers default MariaDB client.
---
## 🛰️ Port Management & Remote Access
Each web and database server has its own port settings in `Settings > General`.
- **Nginx & Apache Ports**: Defaults to 80, but can be changed to 8080 or 8888.
- **MariaDB Port**: Defaults to 3306.
- **PHP-FPM Port**: Defaults to 9000.
- **Allow Remote Access**: When enabled, the software listens on `0.0.0.0` allowing other devices on your local network to access your development sites.
---
> [!WARNING]
> You must **restart your terminal windows** (CMD, PowerShell) for the PATH changes to take effect after clicking "Sync Commands".
### 📖 Next Steps
- [Learn about Database Management](./database.md)
- [System Advanced Tools](./tools.md)
- [Troubleshooting Common Issues](./troubleshooting.md)
+45
View File
@@ -0,0 +1,45 @@
# Advanced Tools & Monitoring
Multi-PHP goes beyond just serving PHP projects, providing a comprehensive set of diagnostic and performance tuning tools.
---
## 🚦 Service Logs & Activity Tracking
Access live and historical logs for all services in the **"Service Logs"** menu.
### Tracked Events:
- **Service Starts/Stops**: View when exactly each server was launched or stopped.
- **Service Errors**: Get detailed error messages if a service crashes or fails to start.
- **Activity Chart**: A visual representation of service availability over time.
- **Event Log**: A detailed, row-by-row history of every service-related action.
---
## 🎛️ Server Tuning & Performance
Fine-tune your environment for different types of development tasks using **"Server Tuning"**.
### Modifiable Parameters:
- **PHP Total Memory**: Increase `memory_limit` for heavy scripts.
- **Max Execution Time**: Allow long-running local operations.
- **Max Upload Size**: Increase file size limits for forms.
- **MariaDB Connections**: Set the concurrent client limits.
- **InnoDB Buffer Pool**: Tailor database performance based on your system RAM.
---
## 🗃️ phpMyAdmin Installation
If you don't use another database GUI, Multi-PHP offers a one-click **phpMyAdmin** installation.
- **Fast Install**: Multi-PHP downloads and configures the latest phpMyAdmin automatically.
- **Easy Integration**: Accessible via your virtual host as `localhost/phpmyadmin` or a dedicated "OPEN" button.
> [!TIP]
> Use the **"Refresh"** button to ensure you are viewing the most up-to-date service information.
### 📖 Next Steps
- [Troubleshooting Common Issues](./troubleshooting.md)
- [How to manage MariaDB Databases](./database.md)
- [Configure PHP Versions & Extensions](./php.md)
+46
View File
@@ -0,0 +1,46 @@
# Troubleshooting & Frequently Asked Questions
Common issues you might encounter while using Multi-PHP and how to fix them.
---
## 🚫 Service Fails to Start
This is often caused by **port conflicts** with other software.
- **Nginx & Apache (Port 80/443)**: Check if Skype, IIS, or another XAMPP/WAMP environment is running and using Port 80.
- **MariaDB (Port 3306)**: Check if you have an existing MySQL or MariaDB installation running.
- **Solution**: Go to `Settings > General` and change the conflicting port to something else (e.g., Change Nginx to 8080 or MariaDB to 3307).
---
## ❌ PHP Error: "No input file specified"
This usually means Nginx or Apache cannot find your project's PHP files.
- **Verify Project Path**: Check if the project path in "My Projects" is correct.
- **Trailing Slash**: Ensure your project path doesn't end with an extra trailing slash unless necessary.
- **Restart Services**: Try stopping all services and starting them again.
---
## 🔒 403 Forbidden Access
Permissions or configuration issues can block access to your local site.
- **Index File Missing**: Ensure your project folder contains an `index.php` or `index.html`.
- **Nginx Config**: If using Nginx, check the project-specific configuration for any manual `deny` rules.
- **Directory Indexing**: By default, Multi-PHP allows directory indexing. If it's blocked, you must have an index file.
---
## 💻 CLI Commands (php, mysql) Not Working
- **PATH Not Updated**: You must click "Sync Commands" in the CLI settings.
- **Terminal Window**: Close and reopen your terminal (CMD, PowerShell) for the changes to take effect.
- **Check Integration**: Ensure the "System PATH Integration" toggle is ON.
---
> [!TIP]
> If you're still having trouble, check the **"Service Logs"** for detailed error messages from the PHP, Nginx, or MariaDB binaries.
+40
View File
@@ -0,0 +1,40 @@
# Web Servers: Nginx vs. Apache
Multi-PHP lets you choose the right web server for each of your projects or set a global default.
---
## 🌩️ Choosing a Web Server
You can switch between Nginx and Apache for any of your projects in the **"My Projects"** settings.
- **Nginx**: Lightweight, high-performance, and standard for modern web development.
- **Apache**: Traditional, robust, and supports native `.htaccess` files for fine-grained configuration.
---
## 🛠️ Global Configuration Management
Each server has its own main configuration file where you can manage ports, worker processes, and global settings.
### Nginx Configuration (`nginx.conf`)
- **Test Config**: Use the "Test Configuration" button to verify your changes without restarting the server.
- **Save & Reload**: Apply configuration changes instantly.
### Apache Configuration (`httpd.conf`)
- **Main Server Settings**: Configure global document roots, module activation, and standard ports.
- **HTAccess Support**: When Apache is active, it automatically reads `.htaccess` files in your project folders.
---
## 📁 Shared Server Assets
Multi-PHP comes with pre-configured, professional designs for **Index of** (directory listings) and **Error Pages** (404, 500). These are consistent across both Nginx and Apache.
> [!WARNING]
> Editing global configuration files can prevent your servers from starting. Always use the **"Test Configuration"** tool before applying changes.
### 📖 Next Steps
- [Learn how to manage CLI and System Integration](./settings.md)
- [System Advanced Tools](./tools.md)
- [Troubleshooting Common Issues](./troubleshooting.md)