Я пытаюсь установить Coinbase PHP API, но для этого требуется Composer:
https://github.com/coinbase/coinbase-php
Я ищу универсальное PHP-решение (возможно, функцию), позволяющее мне устанавливать пакеты композитора прямо на мой сервер без использования Composer.
Я думаю, что разработчики Composer верят, что они помогают людям, но на самом деле есть тысячи начинающих разработчиков, которые не могут изучать веб-разработку из-за «барьера Composer».
Было бы действительно полезно, если бы было гибкое решение или какой-то подход, по которому мы могли бы установить без Composer? Как я могу это сделать?
Пожалуйста, не отвечайте саркастическим комментарием . Есть люди, которые не хотят использовать Composer, и я не понимаю, почему мы должны использовать какое-то стороннее программное обеспечение, чтобы заниматься веб-разработкой.
источник
include
файлы.Ответы:
В
composer.json
файле перечислены зависимости. В вашем примере:Затем вы должны найти соответствующие пакеты на сайте упаковщиков . Повторите тот же процесс для каждой зависимости: найдите дополнительные зависимости в соответствующих
composer.json
файлах и выполните поиск снова.Когда у вас, наконец, будет полный список необходимых пакетов, вам нужно будет установить их все один за другим. По большей части, это просто вопрос размещения файлов где-нибудь в каталоге вашего проекта. Но вы также должны убедиться, что PHP может найти необходимые классы. Поскольку вы не используете автозагрузчик Composer, вам необходимо добавить их в свой собственный автозагрузчик. Вы можете узнать информацию из соответствующих
composer.json
файлов, например:Если вы не используете автозагрузчик классов, вам нужно выяснить отдельные
require_once
операторы. Вероятно, вам понадобится много проб и ошибок, потому что большинство авторов библиотек не заботятся об этом.Также, на всякий случай, в этом есть путаница:
Composer не идеален и подходит не для всех случаев использования, но, когда дело доходит до установки библиотеки, которая полагается на него, это, несомненно, лучшая альтернатива и довольно приличная.
Я проверил другие ответы, которые пришли после моего. В основном они делятся на две категории:
Если я чего-то не упускаю, ни один из них не касается жалоб, выраженных OP:
источник
Вы можете попробовать https://php-download.com/, который поможет вам загружать все зависимости большую часть времени вместе с
vendor
папкой. Это обещания композитора не требуются. Пробовал сам. Он находит и создает все необходимые папки и заархивирует их для загрузки. Прекрасно работает !!источник
Я использую общий хостинг для веб-сайта и не могу выполнять там команды. Помимо запуска композитора через запрос php-скрипта, который я запрашиваю через браузер, я обычно использую этот рабочий процесс:
сделайте файл composer.json, вставьте в него следующее содержимое
Перейдите в каталог с оболочкой по вашему выбору (bash, git-bash, cmd, windows bash)
php composer.phar update
включить в свой проект php, в который вы загружаете свои библиотеки (измените путь туда, где вы загрузили каталог поставщика, чтобы он включал этот файл автозагрузки)
Таким образом, вы получаете преимущество управления зависимостями, и вам не нужно вручную включать все миллионы файлов и загружать все зависимости вручную, а обновить их так же просто, как ввести,
php composer.phar update
а затем заменить каталог поставщика на вашем сервере на новый.источник
Мне пришлось сделать это для FTP-сервера, к которому у меня не было доступа по SSH. Сайт, указанный здесь, работал, затем я понял, что вы можете просто установить композитор на свой собственный сервер (используя версию PHP вашей целевой), а затем скопировать все файлы.
источник
Это не окончательное решение, но для меня это было большим подспорьем в большинстве случаев: https://github.com/Wilkins/composer-file-loader
Я знаю, что вопрос старый, но надеюсь, что он кому-то поможет.
источник
Альтернативное решение, которое сработало для меня (поскольку загрузка php была отключена), может быть реализовано путем создания собственного небольшого локального загрузчика композитора.
c:\temp
и и просто введите зависимость композитора, например:composer require league/oauth2-client
c:\temp
папки на свой веб-хостинг с помощью программы FTP.require("vendor/autoload.php");
источник