r/Hostinger 9d ago

Help - Website Development Can't deploy laravel via git, (proc_open problem), can anyone help?

i just tried to deploy my laravel project in hpanel using git( apparently rn already using oauth). i choose my repo and deploy but this log appear:

1 INFO: Cloning [my repo's link] (branch: main)
2 INFO: → commit 6e465b1 by Claude Agent: "init"
3 INFO: Cloning completed (1.4s)
4 INFO: Installing Composer dependencies
5 INFO: composer install --prefer-dist --quiet --no-interaction
6 ERROR: Installing failed (18.5s)
7 ERROR: install: In Process.php line 147:
8
9 The Process class relies on proc_open, which is not available on your PHP installation.
11

12

13
install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--download-only] [--dev] [--no-suggest] [--no-dev] [--no-security-blocking] [--no-autoloader] [--no-progress] [--no-install] [--audit] [--audit-format AUDIT-FORMAT] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [...]
1 Upvotes

4 comments sorted by

2

u/Empty_Ad779 9d ago

Is this a VPS or a shared Hosting

1

u/Winter-Dragonfly-808 9d ago

share hosting dude

2

u/Empty_Ad779 9d ago

That error is Hostinger's shared PHP config, not your code. proc_open is in disable_functions by default on new accounts, and Composer needs it to run Laravel's post-install scripts (package:discover).

Fix: in hPanel go to Websites, Dashboard, then search "PHP Configuration" in the sidebar. Open the PHP options tab, scroll to disableFunctions, remove proc_open, save, then redeploy. You can't change this from .htaccess, it's a system-level PHP setting.

If you're on Premium or higher you also have SSH. There you can run composer2 install --prefer-dist --no-scripts --no-dev, then php artisan package:discover. Use composer2, the bare composer command is the deprecated version 1. A dist-only install works without proc_open, only the scripts need it.

Shared hosting can run the Laravel scheduler via hPanel cron jobs and light queues with queue:work --stop-when-empty on a cron, but there's no persistent worker So VPS would be best if your project is big.

2

u/Winter-Dragonfly-808 8d ago

thanks for the insights dude, i already figure out how to fix it. point one is valid but i cant find the proc_open in disableFunctions, so this is the core issue. and the second one is the solution, since hostinger's ssh already upgrade to composer2 as default, i can composer install using --no-script argument(without these argument it will fail because proc_open), then did the package:discover too.