You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pie.phar refuses to start when ext-psr is loaded (symfony/service-contracts conflicts with ext-psr) #802
What are you trying to do?
Run pie.phar on a system where the psr extension (PECL PSR 1.2.0) is loaded.
What platform, and PIE version are you using?
PIE 1.5.3
PHP 8.4.5 (CLI), /etc/php/8.4/cli/php.ini, psr 1.2.0 loaded
Ubuntu 24.04
Steps to reproduce the issue
Install PHP 8.4.5 CLI with the psr extension enabled.
Download pie.phar 1.5.3.
Run php pie.phar.
What do you expect to happen?
PIE starts normally.
What is actually happening
The Box requirements checker aborts startup because the bundled symfony/service-contracts conflicts with ext-psr. PIE is unusable while psr is loaded, even though PIE is the tool meant to install extensions.
Complete logs/output
Box Requirements Checker
========================
> Using PHP 8.4.5
> PHP is using the following php.ini file:
/etc/php/8.4/cli/php.ini
> Checking Box requirements:
..........E
[ERROR] Your system is not ready to run the application.
Fix the following mandatory requirements:
=========================================
* The package "symfony/service-contracts" conflicts with the extension "psr".
You need to disable it in order to run this application.
Anything else? psr is a widely used extension, so this affects anyone who has it installed.
Confirmed: sudo phpdismod -v 8.4 -s cli psr makes pie.phar start normally, so the conflict is caused solely by the loaded psr extension.
Things that do not help: php -d extension=psr.so pie.phar (only emits Module "psr" is already loaded).
Workaround: sudo phpdismod -v 8.4 -s cli psr, run PIE, then sudo phpenmod -v 8.4 -s cli psr.
Suggestion: make PIE work with ext-psr loaded (e.g. by scoping the bundled Psr/Symfony contracts packages), or document the limitation and the workaround.
Activity