Невозможно настроить проект laravel с помощью композитора из-за проблемы с версией PHP.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно настроить проект laravel с помощью композитора из-за проблемы с версией PHP.

Сообщение Anonymous »

Я использую общий хостинг с несколькими собственными доменами. Я купил новый и специально для него от меня требовалось использовать php 8.2 или выше. С помощью менеджера MultiPHP я установил PHP 8.2 (ea-php82) и запустил команду php -v в каталоге домена, и он сказал:

Код: Выделить всё

PHP 8.2.18 (cli) (built: Apr 18 2024 09:00:42) (NTS)

Код: Выделить всё

Copyright (c) The PHP Group

Код: Выделить всё

Zend Engine v4.2.18, Copyright (c) Zend Technologies
Теперь, когда я запускаю команду композитора, установка композитора, я получаю кучу ошибок, говорящих, что я использую 8.1. Итак, я ввел эти команды:

Код: Выделить всё

[foo@foo foo.com]$ which php
/usr/local/bin/php
[foo@foo foo.com]$ /usr/local/bin/php -v
PHP 8.2.18 (cli) (built: Apr 18 2024 09:00:42) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.18, Copyright (c) Zend Technologies
[foo@foo foo.com]$ which composer
/opt/cpanel/composer/bin/composer
Затем при необходимости я ввожу эту команду, и происходит следующее:

Код: Выделить всё

[foo@foo foo.com]$ /usr/local/bin/php /opt/cpanel/composer/bin/composer install
Installing dependencies from lock file (including require-dev)
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
- Root composer.json requires php ^8.2 but your php version (8.1.28) does not satisfy that requirement.
Problem 2
- laravel/framework is locked to version v11.4.0 and an update of this package was not requested.
- laravel/framework v11.4.0 requires php ^8.2 -> your php version (8.1.28) does not satisfy that requirement.
Problem 3
Теперь, если последнее, что я пробовал, это игнорировать требования платформы, и это тоже привело к ошибке:

Код: Выделить всё

[foo@foo foo.com]$ /usr/local/bin/php /opt/cpanel/composer/bin/composer install --ignore-platform-reqs
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

Error

Call to undefined method ReflectionFunction::isAnonymous()

at vendor/laravel/framework/src/Illuminate/Container/Container.php:680
676▕      */
677▕     protected function getClassForCallable($callback)
678▕     {
679▕         if (is_callable($callback) &&
➜ 680▕             ! ($reflector = new ReflectionFunction($callback(...)))->isAnonymous()) {
681▕             return $reflector->getClosureScopeClass()->name ?? false;
682▕         }
683▕
684▕         return false;

+3 vendor frames

4   [internal]:0
Illuminate\Foundation\Application::Illuminate\Foundation\{closure}()
+6 vendor frames

11  artisan:13
Illuminate\Foundation\Application::handleCommand()

Error

Call to undefined method ReflectionFunction::isAnonymous()

at vendor/laravel/framework/src/Illuminate/Container/Container.php:680
676▕      */
677▕     protected function getClassForCallable($callback)
678▕     {
679▕         if (is_callable($callback) &&
➜ 680▕             ! ($reflector = new ReflectionFunction($callback(...)))->isAnonymous()) {
681▕             return $reflector->getClosureScopeClass()->name ?? false;
682▕         }
683▕
684▕         return false;

+4 vendor frames

5   artisan:13
Illuminate\Foundation\Application::handleCommand()

Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
[foo@foo foo.com]$
Есть какие-нибудь решения?
Я пробовал использовать менеджер MultiPHP в cPanel. Я пробовал указывать разные пути к версиям php. Я также пробовал использовать команду композитора игнорировать требования платформы.

Подробнее здесь: https://stackoverflow.com/questions/784 ... sion-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»