snipe / snipe-it

A free open source IT asset/license management system
https://snipeitapp.com
GNU Affero General Public License v3.0
11.12k stars 3.19k forks source link

Change Releases warning Message to "will require >PHP8.0 or <PHP8.2 " #12357

Open nivadis opened 1 year ago

nivadis commented 1 year ago

Debug mode

Describe the bug

please change the messeage of the releases to >PHP8.0 or <PHP8.2 and not PHP8.0 or greater

the cli with php8.2 gave the hint to avoid php8.2 ;-)

thanks

Reproduction steps

1. 2. 3. ...

Expected behavior

PHP8.0 or <PHP8.2 and not PHP8.0 or greater

Screenshots

No response

Snipe-IT Version

v6.0.14 build 9161 (g799c9c910)

Operating System

debian

Web Server

apache

PHP Version

8.2.X

Operating System

No response

Browser

No response

Version

No response

Device

No response

Operating System

No response

Browser

No response

Version

No response

Error messages

No response

Additional context

No response

welcome[bot] commented 1 year ago

šŸ‘‹ Thanks for opening your first issue here! If you're reporting a šŸž bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.

snipe commented 1 year ago

What message are you getting with PHP8.2? It should work with 8.2 (should being the operative word here.)

uberbrady commented 1 year ago

composer install does not work on 8.2 right now, I can confirm that on my local. Let me see if I can twiddle some stuff.

p-rintz commented 1 year ago

Without running "composer update", the following will error out:

Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - nette/schema is locked to version v1.2.2 and an update of this package was not requested.
    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.2) does not satisfy that requirement.
  Problem 2
    - nette/utils is locked to version v3.2.7 and an update of this package was not requested.
    - nette/utils v3.2.7 requires php >=7.2 <8.2 -> your php version (8.2.2) does not satisfy that requirement.
  Problem 3
    - phpspec/prophecy is locked to version v1.15.0 and an update of this package was not requested.
    - phpspec/prophecy v1.15.0 requires php ^7.2 || ~8.0, <8.2 -> your php version (8.2.2) does not satisfy that requirement.
  Problem 4
    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.2) does not satisfy that requirement.
    - league/config v1.1.1 requires nette/schema ^1.2 -> satisfiable by nette/schema[v1.2.2].
    - league/config is locked to version v1.1.1 and an update of this package was not requested.
KorvinSzanto commented 1 year ago

@snipe is the fix at this point to run composer update with php8.2 or to downgrade to PHP8.1?

carbon-evolution commented 1 year ago

Is the issue resolved? Getting same error as of @p-rintz.

PHP 8.2.8 (cli) (built: Jul 8 2023 07:10:21) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.8, Copyright (c) Zend Technologies with Zend OPcache v8.2.8, Copyright (c), by Zend Technologies

Problem 1

uberbrady commented 1 year ago

Your best bet is to downgrade to php8.1

KiralyCraft commented 1 year ago

I'm running PHP 8.2.10 on Arch Linux. I've modified composer.json to edit the restrictions for < 8.2.11 instead of < 8.2, ran the composer command with "update" instead of "install ....", and then installed as indicated (this may be redundant though).

So far it works wonders, I haven't found any issues with it.

CharmingRhino commented 1 year ago

I'm running PHP 8.2.10 on Arch Linux. I've modified composer.json to edit the restrictions for < 8.2.11 instead of < 8.2, ran the composer command with "update" instead of "install ....", and then installed as indicated (this may be redundant though).

So far it works wonders, I haven't found any issues with it.

Which lines in the composer.json file did you have to change?

KiralyCraft commented 1 year ago

Which lines in the composer.json file did you have to change?

This one

nemchik commented 10 months ago

Just chiming in; It was pointed out above that this line https://github.com/snipe/snipe-it/blob/3a6d626aa13fb0399100554f44ba424c3e2cbc53/composer.json#L20 prevents using php 8.2 (and now also php 8.3) but actually still allows using php 7.4 (EOL) and php 8.0 (EOL).

Per https://www.php.net/supported-versions.php as of writing, php 8.1 (the only version of php that is not EOL that works to install snipe-it) is no longer in active support. It is still receiving security updates and is not yet EOL, but it will be as of 25 Nov 2024. The two versions of php currently in active support are php 8.2 and php 8.3.

The composer.json file should be updated to reflect the supported versions of php if php 8.2 is meant to be included. Whether EOL versions of php are supported is up to the project to decide, but if the only versions of php that a project supports are outside of php's active support window it paints a bit of a negative picture.

@snipe an update to the composer.json would be greatly appreciated if the supported php version range has changed.

As a side note, I am also involved in maintaining https://github.com/linuxserver/docker-snipe-it and have been unable to make a few changes due to being locked in with the older (now EOL) php 8.1.

PHP: Supported Versions
GitHub
GitHub - linuxserver/docker-snipe-it: Alpine/Nginx container for the Asset Management software Snipe-IT
Alpine/Nginx container for the Asset Management software Snipe-IT - GitHub - linuxserver/docker-snipe-it: Alpine/Nginx container for the Asset Management software Snipe-IT
snipe commented 10 months ago

@nemchik Supported versions have not been changed. Snipe-IT v7 will phase out 7.4, but we're stuck with supporting it until that comes out.

vithusel commented 9 months ago

@snipe

Im currently using php 8.2.10 and have to perform the upgrades manually which isn't an issue in the short term.

Will Snipe-IT v7 introduce support to be able to upgrade with this PHP version? I'm questioning if life would be made easier downgrading PHP or if it makes more sense to just wait.

The most recent version of upgrade.php introduces a a requirements JSON file which only supports 8.2.0 any newer minor versions aren't supported.

snipe commented 9 months ago

@vithusel Yeah, that new file is to make upgrading easier moving forward. Since we donā€™t know what version someone is upgrading from/to, this at least gives us a way to stop people from blowing up their installations if they missed the PHP requirements (both max and min) in the documentation. Weā€™re still refining that file though, since itā€™s not actually used yet.

8.2 isnā€™t supported in the Snipe-IT v6 line (due to dependencies, not because we donā€™t want to), but v7 will be.

vithusel commented 9 months ago

@vithusel Yeah, that new file is to make upgrading easier moving forward. Since we donā€™t know what version someone is upgrading from/to, this at least gives us a way to stop people from blowing up their installations if they missed the PHP requirements (both max and min) in the documentation. Weā€™re still refining that file though, since itā€™s not actually used yet.

8.2 isnā€™t supported in the Snipe-IT v6 line (due to dependencies, not because we donā€™t want to), but v7 will be.

Thank you for the confirmation. 8.2.10 seems to be playing well for me so perhaps I'm narrowly avoiding a particular feature that's broken with it. I'll freeze my servers for now and will wait till v7 to upgrade

pvsaintpe commented 6 months ago
image
pvsaintpe commented 6 months ago

good night, can you do something about this? Laravel 11 works with php8.2/8.3 why can't I install dependencies for php 8.2/8.3 and Laravel 11?

snipe commented 6 months ago

@pvsaintpe - per the requirements documentation, we do not yet support PHP 8.2. We will in Snipe-IT v7 which should be out soon.