feat: implement user guide documentation in multiple languages and add IPC infrastructure for UI components
This commit is contained in:
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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.
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user