Подтвердить что ты не робот

Требует ext-fileinfo. Как добавить это в мой файл composer.json?

Я пытаюсь установить интервенцию/изображение. После выполнения обновления для композитора я получаю это

enter image description here

это мой файл-композитор

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
    "laravel/framework": "4.1.*",
    "intervention/image": "2.*"
},
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ]
},
"scripts": {
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ]
},
"config": {
    "preferred-install": "dist"
},
"minimum-stability": "stable"

}

4b9b3361

Ответ 1

Ничего общего с вашим композитором .json.

Вам необходимо установить и включить расширение FileInfo PHP, которое устанавливается по умолчанию, начиная с PHP 5.3.0. Версии до 5.3+ могут использовать прекращенное расширение PECL.

Чтобы включить расширение FileInfo, вам нужно отредактировать php.ini и изменить одну строку.

  • Найдите строку:

    ;extension=php_fileinfo.dll
    
  • Удалите начальный комментарий:

    extension=php_fileinfo.dll
    

Чтобы узнать, где находится ваш php.ini, вы можете запустить следующую команду с терминала:

$ php --ini

и найдите "Загруженный файл конфигурации".

Обратите внимание на, что PHP CLI может загружать другой файл php.ini, чем веб, поэтому не полагайтесь на путь, указанный в phpinfo(). Выполните команду, указанную выше в терминале, чтобы узнать файл, загруженный PHP CLI.

Ответ 2

Нам не нужно ничего делать в composer.json

Окна

Включить расширение fileinfo в php.ini

extension= php_fileinfo.dll

В Linux

1) Загрузите и распакуйте пакет

wget http://pecl.php.net/get/Fileinfo-1.0.4.tgz

tar -zxf Fileinfo-1.0.4.tgz

cd Fileinfo-1.0.4

2) Создайте расширение для компиляции

phpize

3) Настройте модуль

./Configure

4) создать файлы установки и установить его

сделать

make install

5) Теперь расширение будет доступно в каталоге /usr/lib 64/php/modules. Теперь вам нужно добавить расширение где-нибудь в файле конфигурации php. Измените /etc/php.ini и добавьте следующее: расширение = fileinfo.so 6) Сохраните файл и перезапустите веб-сервер

служба httpd restart

Чтобы убедиться, что модуль fileinfo включен правильно, выполните:

php -i | grep fileinfo

поддержка fileinfo = > включена

Альтернативный метод

Просто FYI, модуль также может быть установлен с помощью команды PECL i.e.

pecl install fileinfo

После этого просто выполните шаги 5 и 6, упомянутые выше, чтобы включить его. Вот оно.

Ответ 3

Если кто-то еще находится на DreamHost (например, мне) или обнаруживает, что изменения php.ini не делают то, что вы хотите, вы можете попробовать другой маршрут.

Здесь страница Wiki DreamHost на PHP.ini, но я также перечислим следующие шаги.

Шаг 1. Создайте файл конфигурации PHP (phprc)

  • В домашней папке пользователя (/home/your_user_name) создайте новую папку с именем .php (обратите внимание на начальный период)
  • В этой новой папке создайте еще одну папку на основе версии PHP, которую вы используете. Вы можете найти это (и изменить его) на панели хостинга (DreamHost находится в panel.dreamhost.com в разделе Домены > Управление доменами). Поэтому, если вы используете PHP версии 5.6, создайте папку с именем 5.6.
  • В этой новой папке создайте новый файл с именем phprc (без расширения). Если в этой папке уже есть файл phprc, вы можете создать резервную копию, изменив имя файла на phprc.old.

Шаг 2: Изменить phprc, чтобы включить расширение

  • Откройте новый phprc файл.
  • Добавьте эту строку в конец: extension = fileinfo.so
  • Сохранить файл

Шаг 3: Перезапустите PHP и/или ваш веб-сервер

Через панель

Если у вас есть общий хостинг или вам не нравится SSH или командная строка, вы можете заставить DreamHost забрать новые настройки phprc.

  • Вернитесь к Panel и перейдите в раздел Домены > Управление доменами.
  • Нажмите Edit рядом с доменом, над которым вы работаете.
  • Не вносите никаких изменений здесь. Просто прокрутите вниз и нажмите Change Settings в нижней части первого раздела.
  • В течение примерно 10 минут DreamHost потянет ваши изменения.
  • Если вы не видите обновления через 10 минут (будьте терпеливы!), обратитесь в службу поддержки за помощью.
Через SSH

Если вам удобно использовать командную строку (и вы не используете общий хостинг), SSH на свой сервер и выполните следующие команды:

Для веб-серверов Apache
sudo /etc/init.d/httpd2 restart
Для веб-серверов Nginx
sudo /etc/init.d/nginx stop
pkill -9 php
sudo /etc/init.d/nginx start

Ваши конкретные команды могут быть немного разными, но если вам нравится CLI, вы, вероятно, знаете свою конкретную команду.

Ответ 4

Для людей с WAMP

Щелкните левой кнопкой мыши по значку в трее → PHP → Расширение PHP → php_fileinfo

Он перезапустит ваш сервер, и все будет готово.

Если это не сработает, попробуйте отредактировать php.ini внутри: C:\wamp\bin\php\php5.4.12 (последняя часть зависит от вашей версии php)

Найдите строку: ;extension=php_fileinfo.dll и удалите ;

Сохраните и перезапустите службы WAMP.