Skip to content

Allow running without (hard) platform requirement checks #279

@jnoordsij

Description

@jnoordsij

When trying to run PIE on a platform that does not meet requirements, e.g. using the new PHP 8.5 alpha, one is faced with a clear error:

Box Requirements Checker
========================

> Using PHP 8.5.0alpha1
> PHP is not using any php.ini file.

> Checking Box requirements:
  E......

                                                                                
 [ERROR] Your system is not ready to run the application.                       
                                                                                

Fix the following mandatory requirements:
=========================================

 * This application requires a PHP version matching
   "8.1.*||8.2.*||8.3.*||8.4.*".

Although it makes a lot of sense to have such a check by default, it makes it harder to already run test environments, CI, etc. on newer PHP versions for testing purposes. Note that with #277 there is definitely effort going on for PHP 8.5, I think it is to be expected to always have some delay between releases of new PHP alphas/betas and proper support for PIE.

To allow actually doing a best-effort attempt in such cases, without requiring full support marked inside this tooling, I propose adding a flag similar to the composer --ignore-platform-reqs flag that would allow one to run the tool and hope for the best. Of course this could(/should) go paired with appropriate warning(s) to indicate such a setup is not guaranteed to work and probably meant to be used for testing only (definitely not production environments). This would allow one to more flexibly test PIE with newer versions.

For my use case, I have a Docker image extending the PHP Docker official image, that I try to build for new PHP alpha/beta/rc releases when they appear. This image basically installs a handful of extensions and adds some configuration files of my own. Previously I could get this to mostly work for testing purposes immediately after the first alpha release, given that extension installs with PECL would work out-of-the-box. However now that I've moved this image towards PIE, I'm facing a hard roadblock at trying to install extensions due to PIE not allowing any operations. Given that likely running everything with the new PHP version should work, and if not would allow for reporting actual failures to PIE and/or extension maintainers, I think it would be nice to allow some additional level of flexibility here.

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions