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

Я пытаюсь установить intervention / image. Tho после запуска обновления композитора я получаю это

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"

}

4 ответов


ничего общего с вашим композитором.формат JSON.

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

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

  1. найдите строку:

    ;extension=php_fileinfo.dll
    
  2. удалить стартовую комментарий:

    extension=php_fileinfo.dll
    

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

$ php --ini

и ищите "Загруженный Файл Конфигурации".

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


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

Windows

включить расширение 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) настройте модуль

./настроить

4) Создайте установочные файлы и установите их

сделать

установка

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

перезапуск службы httpd

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

php-i / grep fileinfo

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

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

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

pecl установить fileinfo

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


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

вот вики-страница DreamHost на PHP.ini, но я также перечислю шаги ниже.

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

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

Шаг 2: Edit phprc включить расширение

  1. открыть свой новый .
  2. добавьте эту строку в конец:extension = fileinfo.so
  3. сохраните файл

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

Через Панель

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

  1. вернитесь к своему панель и перейдите к Домены - > управление доменами.
  2. клик Edit рядом с доменом, над которым вы работаете.
  3. не делайте никаких изменений здесь. Просто прокрутите вниз и нажмите Change Settings в нижней части первой секции.
  4. в течение примерно 10 минут DreamHost потянет ваши изменения.
  5. если вы не видите обновления через 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, то вы, вероятно, знаете свою конкретную команду.


для людей с WAMP

щелкните левой кнопкой мыши значок в трее - > PHP - > расширение PHP - > php_fileinfo

он перезагрузит ваш сервер, и вы закончите.

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

ищем строку: ;extension=php_fileinfo.dll и удалить ;

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