Download the PHP package jmrashed/php-installer without Composer
On this page you can find all versions of the php package jmrashed/php-installer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jmrashed/php-installer
More information about jmrashed/php-installer
Files in jmrashed/php-installer
Package php-installer
Short Description Reusable, framework-agnostic web installer for PHP applications — step-by-step installation wizard with multi-database support, migrations, and admin creation.
License MIT
Homepage https://github.com/jmrashed/php-installer
Informations about the package php-installer
PHP Installer Package
A professional, reusable web installer for any PHP application. Simplify your deployment process with an intuitive step-by-step installation wizard.
✨ Features
- System Requirements Check - Validates PHP version, extensions, and directory permissions
- Database Setup - Automated database creation and schema import
- PHP Migration Support - Execute PHP-based migrations and seeders
- Configuration Management - Generates application config files
- Admin Account Creation - Optional administrator user setup
- Installation Lock - Prevents reinstallation after completion
- CSRF Protection - Secure form handling
- Responsive UI - Bootstrap-powered interface
- Debug Control - Environment-based debug output control
- Error Handling - Comprehensive validation and user feedback
🚀 Quick Start
Installation
Integration
- Copy the
php-installerfolder to your project root - Create your database schema file at
database/db.sql - Configure installer settings in
config/installer.php - Access via browser:
http://yourdomain.com/php-installer/
📋 Requirements
- PHP 7.4 or higher
- PDO extension
- MySQL/MariaDB database
- Web server (Apache/Nginx)
🛠️ Configuration
Screenshot
Basic Setup
Edit config/installer.php:
Database Schema
Option 1: SQL Schema File
Place your SQL schema in database/db.sql:
Option 2: PHP Migrations (Recommended)
Create PHP migration files in database/migrations/:
Seeders
Create seeder files in database/seeders/:
📁 Directory Structure
🎯 Usage Example
For Laravel Projects
For Custom PHP Projects
Installation Options
During the database import step, users can choose:
-
Run database migrations & seeders (Recommended)
- Executes PHP migration files
- Runs seeder files after migrations
- Provides detailed logging
-
Use default database schema
- Imports from
database/db.sql - Traditional SQL file approach
- Imports from
- Upload custom SQL file
- Allows custom
.sqlor.zipuploads - Useful for existing database schemas
- Allows custom
🔧 Customization
Debug Control
Control debug output using your application's .env file:
Alternatively, add ?debug=1 to any installer URL for temporary debugging.
Custom Installation Steps
Extend the installer by modifying src/Core/Installer.php:
Migration and Seeder Integration
The installer automatically detects and runs:
- PHP Migrations: Files in
database/migrations/*.php - Seeders: Files in
database/seeders/*.php(run after migrations) - SQL Files: Traditional
.sqlfiles as fallback
Custom Templates
Create custom config templates in src/Templates/:
config_template.php- Application configurationenv_template.php- Environment variables
📋 Changelog
See CHANGELOG.md for a detailed list of changes and version history.
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
👨💻 Author
Md Rasheduzzaman
Full-Stack Engineer & Technical Project Manager
- Email: [email protected]
- GitHub: @jmrashed
- LinkedIn: Md Rasheduzzaman
🙏 Acknowledgments
- Bootstrap for the responsive UI framework
- PHP community for best practices and standards
📊 Stats
⭐ Star this repository if it helped you!
All versions of php-installer with dependencies
ext-pdo Version *
ext-mbstring Version *
ext-curl Version *