Download the PHP package madeiteasytools/multiverse without Composer
On this page you can find all versions of the php package madeiteasytools/multiverse. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download madeiteasytools/multiverse
More information about madeiteasytools/multiverse
Files in madeiteasytools/multiverse
Package multiverse
Short Description Multi-Language Worker Integration for Laravel - Run Python, Node.js and more from your Laravel app
License MIT
Informations about the package multiverse
MadeItEasyTools/Multiverse ๐
Run Python, Node.js, and other languages natively inside your Laravel application.
Bridge the gap between PHP's web dominance and Python's data supremacy. Run "Workers" written in other languages as if they were native Laravel classes.
โจ Features
- ๐ Performance Optimized: Sub-500ms execution times via pre-installed environments
- ๐ก๏ธ Robust Error Handling: Custom exceptions with detailed context
- โฑ๏ธ Configurable Timeouts: Prevent hanging workers with flexible timeout options
- ๐ Automatic Logging: Failed workers logged with full context
- ๐งน Process Management: Manual cleanup command for zombie processes
- ๐ Python Native: First-class support for Python 3.x
- ๐ฆ Shared Dependencies: One
requirements.txtfor all workers - ๐ ๏ธ Artisan Integration:
multiverse:worker,multiverse:install,multiverse:update,multiverse:clear - ๐ Security: Built-in static analysis to block dangerous commands
๐ฅ๏ธ Server Requirements
Before installing, ensure your server meets these requirements:
PHP
- PHP 8.1+
proc_openmust not be indisable_functionsinphp.ini
Shared hosting / HestiaCP / cPanel: These panels often disable
proc_openin PHP-FPM pools. You must remove it fromdisable_functionsin your pool config or globalphp.inifor the package to work. See Troubleshooting.
Python Workers
If you plan to use Python workers, the server also needs:
| Package | Purpose | Install (Ubuntu/Debian) |
|---|---|---|
python3 (3.8+) |
Python runtime | pre-installed on most servers |
python3-venv |
Virtual environment support | apt install python3.X-venv |
python3-dev |
Python headers (for C extensions) | apt install python3.X-dev |
build-essential |
C/C++ compiler (gcc, g++) |
apt install build-essential |
Replace
Xwith your Python version (e.g.python3.12-venvfor Python 3.12).python3-devandbuild-essentialare only needed if yourrequirements.txtincludes packages that compile from source (e.g.pyswisseph,numpy,Pillow).
Quick check:
๐ฆ Installation
1. Check Server Requirements
Before setting up, verify your server has everything needed:
Example output:
Each failing check prints the exact apt install command to fix it. Returns exit code 1 if any requirement is missing โ useful in CI/CD pipelines.
2. Setup Python Environment
This creates a multiverse/ directory, sets up a virtual environment, and automatically updates your .gitignore.
3. Publish Configuration (Optional)
๐ Quick Start
Create a Worker
Write Your Python Logic
Edit multiverse/python/image_processor/main.py:
Run from Laravel
โ๏ธ Advanced Features
Timeout Configuration
Default (Unlimited):
Global Timeout:
Per-Worker Timeout:
Error Handling
Automatic Error Logging
Failed workers are automatically logged to storage/logs/laravel.log:
Log Entry Example:
Process Cleanup
Kill hanging or zombie worker processes:
Example:
๐ Managing Dependencies
Add Python Packages
-
Edit
multiverse/python/requirements.txt: - Update environment:
Shared Virtual Environment
All Python workers share one virtual environment, saving disk space and installation time.
๐ Security
Static Code Analysis
Block dangerous patterns in worker code:
Best Practices
โ
Validate Input: Always validate data before passing to workers
โ
Use Timeouts: Set reasonable timeouts for all workers
โ
Monitor Logs: Check storage/logs for worker failures
โ
Limit Permissions: Run workers with minimal system permissions
โ
Sanitize Output: Validate worker output before using in your app
๐ ๏ธ Artisan Commands
| Command | Description |
|---|---|
multiverse:check --lang=python |
Check server requirements |
multiverse:install --lang=python |
Setup language environment |
multiverse:update --lang=python |
Update dependencies |
multiverse:worker name --lang=python |
Create new worker |
multiverse:run worker |
Run worker manually |
multiverse:clear [worker] |
Kill zombie processes |
๐ Configuration Reference
๐ฏ Use Cases
AI & Machine Learning
Image Processing
Data Science
Web Scraping
๐ Troubleshooting
proc_open Disabled
proc_open is disabled in your PHP configuration. This is common on shared hosting and control panels (HestiaCP, cPanel, Plesk).
Fix โ check what's disabled:
Fix โ global php.ini (affects all sites):
Fix โ per-site PHP-FPM pool (safer, affects only your site):
Edit your pool config (e.g. /etc/php/8.4/fpm/pool.d/yoursite.conf) and add:
Omit proc_open from the list. Note: pool config can only add to the global list, not remove from it โ so proc_open must also be absent from the global php.ini.
python3-venv Not Installed
C Extension Build Fails (Python.h / g++ not found)
Worker Not Found
Solution: Check that multiverse/python/my_worker/main.py exists.
Timeout Issues
Solution: Increase timeout or optimize worker code.
Import Errors
Solution: Add package to requirements.txt and run multiverse:update.
Zombie Processes
Solution: Run php artisan multiverse:clear worker_name.
๐ License
MIT License - see LICENSE.md for details.
๐ค Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
๐ Support
- Issues: GitHub Issues
- Email: [email protected]
Made with โค๏ธ by MadeItEasyTools
All versions of multiverse with dependencies
illuminate/support Version ^11.0|^12.0|^13.0
symfony/process Version ^7.0|^8.0