Как установить пакеты PHP Composer без Composer?
Я пытаюсь установить API Coinbase PHP, но для этого требуется Composer:
https://github.com/coinbase/coinbase-php
Я ищу универсальное PHP-решение (возможно, функцию), позволяющее мне устанавливать пакеты composer непосредственно на мой сервер без использования Composer.
Я думаю, что разработчики Composer считают, что они помогают людям, но на самом деле есть тысячи начинающих разработчиков, которые заблокированы из изучение веб-разработки с помощью "барьера композитора".
Это действительно помогло бы, если бы было гибкое решение или какой-то подход, где мы могли бы установить без Composer? Как я могу это сделать?
пожалуйста, не отвечайте саркастическим комментарием. Есть люди, которые не хотят использовать Composer, и я не понимаю, почему мы должны быть согнаны в конкретное стороннее программное обеспечение для веб-разработки.
5 ответов
на списки зависимостей. В вашем примере:
"require": {
"php": ">=5.5.0",
"guzzlehttp/guzzle": "^6.0",
"psr/http-message": "^1.0",
"psr/log": "^1.0"
},
затем вы должны найти соответствующие пакеты в packagist. Повторите тот же процесс для каждой зависимости: найдите дополнительные зависимости в соответствующих composer.json
файлы и снова поиск.
когда у вас, наконец, есть полный список необходимых пакетов, вам нужно только установить их все один за другим. По большей части, это просто вопрос удаление файлов где-то в каталоге проекта. Но вы также должны убедиться, что PHP может найти необходимые классы. Поскольку вы не используете загрузчик Composer, вам нужно добавить их в свой собственный загрузчик. Вы можете выяснить информацию из соответствующего composer.json
файлы, например:
"autoload": {
"psr-4": { "Coinbase\Wallet\": "src/" }
},
если вы не используете загрузчик класса, вам нужно будет выяснить индивидуальный require_once
заявления. Вероятно, вам понадобится много проб и ошибок, потому что большинство авторов библиотеки мне все равно, что это будет.
кроме того, и на всякий случай есть путаница об этом:
- Composer имеет официальный установщик GUI для Windows и скопировать и вставить процедура установки командной строки для всех платформ.
- Composer можно запустить локально, а его вывод просто загружен в другом месте. Вам не нужен SSH в вашем общем хостинге.
- команду, необходимую для установки библиотеки, можно скопировать и вставить из веб-сайт пакета-даже если сопровождающий пакета не удосужился его документировать, packagist.org генерирует его по умолчанию.
Composer не идеален, и он не подходит для всех случаев использования, но, когда дело доходит до установки библиотеки, которая полагается на него, это, несомненно, лучшая альтернатива, и это довольно приличный.
Я проверил другие ответы, которые пришли после меня. В основном они делятся на две категории:--9-->
- установите библиотеку и напишите пользовательский скрипт загрузки с ним
- используйте онлайн веб-интерфейс для Composer
если я чего-то не упускаю, ни один из них не обращается к жалобам, выраженным OP:
- обучение
- использование стороннего программного обеспечения
- возможность разработки прямо на сервере (с использованием SSH, я полагаю)
- потенциально глубокое дерево зависимостей
вы можете попробовать https://php-download.com/, который может помочь вам загрузить все зависимости большую часть времени вместе с . Обещать композитору не требуется. Попробовал сам. Он находит и создает все необходимые папки и молнии для загрузки. Отлично работает !!
Я должен был сделать это для FTP-сервера, к которому у меня не было доступа SSH. Сайт, указанный здесь, работал, затем я понял, что вы можете просто установить composer на свой собственный сервер (используя PHP-версию вашей цели), а затем скопировать все файлы.
Это не окончательное решение, но для меня это было большой помощью для большинства случаев: https://github.com/Wilkins/composer-file-loader
позволяет загружать composer.файл json так же, как и composer. Это позволит вам загрузить composer.файл json без композитора (так теоретически PHP 5.2 достаточно)
Я знаю, что вопрос старый, но я надеюсь, что это поможет кому-то.
Я использую общий хостинг для веб-сайта и не могу выполнять команды там. Помимо запуска composer через php-скрипт запроса, который я запрашиваю через браузер, я обычно использую этот рабочий процесс:
- убедитесь, что php установлен локально.
- создать папку на рабочем столе.
- скачать composer.фар отhttps://getcomposer.org/download/ (под заголовком *Скачать Инструкцию) и поместите его в справочник.
-
создать файл композитор.в JSON вставьте в него следующее содержимое
{ "require": { "coinbase/coinbase": "~2.0" } }
перейдите в каталог с оболочкой по вашему выбору (bash, git-bash, cmd, windows bash)
- тип
php composer.phar update
- загрузите каталог поставщика на свой веб-сервер через ftp или любой механик, который вы используете.
-
включить в свой php-проект, где вы загружаете библиотеки (измените путь к месту загрузки каталога поставщика, чтобы он включал этот файл автозапуска)
require_once('vendor/autoload.php');
таким образом, вы получаете преимущество управления зависимостями, и вам не нужно вручную включать все gazillion файлов и загружать все зависимости вручную, а их обновление так же просто, как печатать php composer.phar update
а затем заменить dir поставщика на вашем сервере на новый.