Как установить скрипт LibArea с GitHub (без сomposer)

Evg Evg 13 Августа 2022 (ред)

Если скачивать файлы так:

GitHub LibArea

и далее заливать их себе на хостинг, то не будет папки vendor. Папка vendor содержит Composer-зависимости.

Она (с содержимым) образуется, если использовать сomposer. Скачать эту папку можно и отдельно по адресу:

libarea.ru/dev/vendor.zip

Скачиваем архив, извлекаем эту папку и добавляем её, чтобы получить вот такую страктуру каталогов:

Структура каталога LibArea

Стараюсь акуально поддерживать версию этого файла (vendor.zip). Например, на данный момент файл полностью совмести в последними изменениями на GitHub.

Всех этих телодвижений и сверок можно избежать, если научиться пользоваться сomposer. На самом деле, это очень просто и упрощает очень многие вещи.


Перед началом обновления обязательно сделайте резервную копию своего сайта и дамп базы данных!

Общий и очень полезный совет. Не важно, что мы делаем. Делаем дамп!


Ответ на вопрос: я скачал с GitHub, а у меня ошибка 500, почему?

Короткий ответ: нет папки vendor.

6 Ответов

  1. German German 13 Августа 2022 (ред.)

    Возможно стоит создать раздел «Ответы на вопросы» и там разместить подобные статьи?

    1. Evg Evg 13 Августа 2022 (ред.)

      Чтобы продать что-нибудь ненужное, — надо сначала купить что-нибудь ненужное. А у нас денег нет.

      У нас вопросов нет. Будут вопросы, будут ответы. Будут ответы, сделаем раздел. Пост так и написал, третий раз сталкиваюсь с тем, что папку эту пропускают. Смысл сomposer не совсем ясен. Что он «собирает».

  1. yuran yuran 13 Августа 2022 (ред.)

    Да, посредством composer очень удобно. И обновляться тоже — сначала git pull, затем composer update. Вот бы еще с базой что-то подобное сделать… какой-нибудь migrate. Это было бы огонь smile
    Я не особо разбираюсь в командной строке и вообще git + composer… Мне кажется композер автоматом подтягивает то, что прописано в файле composer.json в секции require. Вот у нас так:

    "require": {
        "php": ">=7.4.0",
        "ext-pdo": "*",
        "phphleb/framework": ">=1.6.68",
        "phphleb/imageresizer": "dev-master",
        "phphleb/debugpan": "1.*",
        "phphleb/radjax": "dev-master",
        "cocur/slugify": "^4.1",
        "phpmailer/phpmailer": "^6.6.3",
        "erusev/parsedown": "^1.8.0@beta",
        "wamania/php-stemmer": "^3.0",
        "donatj/phpuseragentparser": "dev-master",
        "utopia-php/domains": "dev-master",
        "geshi/geshi": "dev-master",
        "matthiasmullie/minify": "dev-master"
      },
      "autoload": {
        "classmap": [
          "app/",
          "vendor/phphleb",
          "modules/"
        ],
        "psr-4": {
          "App\\": "app/",
          "Phphleb\\": "vendor/phphleb/",
          "Hleb\\": "vendor/phphleb/framework/",
          "Modules\\": "modules/"
        },
        "files": [
            "app/helpers.php"
        ]
      },
      "config": {
        "optimize-autoloader": true
      },
      "minimum-stability": "dev"
    }

    Поправьте если несу чушь smile

    1. Evg Evg 13 Августа 2022 (ред.)

      Да, этот файл лежит в корне репозитория, даже знать, что там внутри не особо обязательно. В нем строки, какие зависимости будут ставиться в эту саму папку. Для программистов больше.

      Кстати, из всех, phpmailer надо бы заменить по ряду причин в первую очередь. Но это позже…

    1. mixer mixer 14 Августа 2022

      К вопросу миграции. Подсмотреть у других https://github.com/davedevelopment/phpmig и сделать свое.

      Можно же и без ORM обойтись если движок без него работает.

  1. Evg Evg 15 Августа 2022

    В общем, чуток оптимизировал зависимости в composer. Одну библиотеку, которая в политку ударилась, убрал, и она не MIT была лицензия, и достаточно изыбыточная для конкретных задач. И ещё одну убрал, т.к. она имела свои зависимости. В результате собранная папка vendor с 29МБ уменьшилась до 7МБ, и расход памяти упал значительно.

    К тому же, посмотрел, как работает Stemmer тут, забрал к себе, простой и понятный класс и логика. Далее можно расширить, если надо. Очень просто всё. Теперь сам поиск по скорости куда шустрей стал.