У меня есть ext-fileinfo, но Composer говорит, что он отсутствует

Я пытаюсь установить Laurvel package Intervention Image и при запуске composer update:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - intervention/image 2.0.5 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.4 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.3 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.2 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.1 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.0 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - Installation request for intervention/image 2.* -> satisfiable by intervention/image[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5].

У меня php 5.4, и расширение включено в php.ini, а в phpinfo():

                    fileinfo

fileinfo support                  enabled
version                           1.0.5

и перезапустил apache... но все равно не повезло.

Ответ 1

По-видимому, это связано с тем, что для web/apache и CLI существуют отдельные файлы php.ini, а в качестве композитора используется CLI, а phpinfo() использует основную php.ini проблему.

Если вы запустите php -m в CLI и не увидите имя модуля, вы должны найти CLI php.ini (в моем случае php-cli.ini и добавить расширение, например extension=php_fileinfo.dll

Ответ 2

Пользователи Windows: просто отредактируйте php.ini и раскомментируйте эту строку:

extension=php_fileinfo.dll

Не забудьте перезапустить Apache, чтобы новый php.ini вступил в силу.

Ответ 3

У меня та же проблема. Исправлено. вы также можете раскомментировать эту строку

extension=php_fileinfo.dll  

в следующих файлах:

  • php.ini-development
  • php.ini-production

Пожалуйста, не забывайте restart ваш Apache.
Надеюсь, это поможет.

Ответ 4

В зависимости от вашей платформы может быть больше php.ini, если вы используете Wamp, тогда есть два:

  • WAMP\Bin\PHP\php5.4.3\php.ini
  • WAMP\Bin\Apache\Apache2.4.4\Bin\php.ini

Убедитесь, что расширение не выполнено в обоих, а затем снова перезапустите apache.

Ответ 5

В Windows мне пришлось добавить extension=php_fileinfo.dll строки extension=php_fileinfo.dll в мой файл php.ini

Ответ 6

Uncomment extension = php_fileinfo.dll в файлах конфигурации php ini (при необходимости, php.ini-development) И затем, если вы используете XAMPP, используйте оболочку apache. Его можно загрузить с панели управления XAMPP запустите php -m для проверки того, что расширение загружено. Затем запустите установку композитора.

Ответ 7

У меня точно такая же проблема. Исправлено, когда вы wamp/bin папку wamp/bin и искали .ini. Вы найдете несколько файлов php.ini.

Отредактируйте строку extension=php_fileinfo.dll во всех них, удалив; в начале каждого. Перезапустите WAMP, введите php -m в командной строке, чтобы проверить, есть ли там php -m.

Должно сработать.

Ответ 8

Если кому-то интересно, как это сделать в cpanel (на основе linux), просто выполните поиск, выбрав версию php в поле поиска, и щелкните по ней, и на следующем экране вы увидите свою текущую версию php, а затем увидите множество флажков с некоторыми значениями, так что вот теперь вы можете проверить phpinfo и нажать "Сохранить", чтобы избежать ошибки композитора.