ThePHPF / pie-design

94 stars 1 forks source link

PHP version support #7

Closed ttomdewit closed 3 months ago

ttomdewit commented 4 months ago

Dear maintainers,

First of all thank you for all the hard work you do, here and elsewhere, and thank you for being open and transparent about the process you're embarking on with project codenamed Pie.

As I understand the Pie tool is being build on top of PHP and can be distributed like a PHAR, much like Composer, and the Pie LCI tool will be invoked with php pie.phar <commands>. That highly depends on the PHP version you currently run, either locally or in a virtual container.

Is it, or will it be, in the scope of Pie to support PHP version that are no longer officially supported by PHP itself? I.e. will it follow the supported versions table or is there an opportunity to "downgrade" (for lack of better wording) the tooling and it's dependencies so it can be used in legacy applications as well that are still to be updated to more modern PHP?

Thanks again!

Kind regards,

Tom

asgrim commented 4 months ago

Absolutely valid question I think. In php/pie#1 I currently targeted only supported PHP versions (so, currently 8.1).

However, I don't think that it is quite as cut-and-dry as this. If PIE only supports 8.1+, what does this mean for folks on PHP 7? or even PHP 5? Working on legacy projects myself, it would be a concern if pecl.php.net disappeared, rendering commands like pecl install <foo> potentially broken.

Therefore, I think we need to have a discussion of: what is the trade-offs of maintenance for PECL and its infrastructure, vs PIE only supporting "supported" PHP versions. It may well be, that we should target a very ancient PHP version (say, PHP 5.5) initially, get an LTS branch for that, then drop older PHP versions (similar to how Composer did it with LTS version 2.2)

derickr commented 4 months ago

I have a few more things to say on this:

asgrim commented 3 months ago

I think therefore, this discussion can probably be closed. As per PR #1 the tool will initially need PHP 8.1 to be run, but will still be able to install older PHP versions using --with-php-config, as mentioned.