От новичка до гуру: Курсы программирования на CyberDuff

Жрать без композитора

Мне нужно использовать sproutvideo php-библиотеку, для которой требуется жрать

Guzzle нуждается в установке композитора и не уверен, нужно ли его запускать, так как в каком-то файле я нашел

require 'vendor/autoload.php';

я никогда не использовал композитор, и я нахожусь на виртуальном хостинге, где я не могу его установить

я загружаю Guzzle с github, но не уверен, что решаю вопрос с autoload.php и если он будет работать

13.05.2015

  • Вам нужно собрать проект в своей собственной среде разработки и загрузить артефакт (то есть полную папку со всеми поставщиками, автозагрузку композитора и прочее) на виртуальный хостинг. Я настоятельно не рекомендую писать свой собственный автозагрузчик, так как вы получите (в лучшем случае) ту же функциональность, что и автозагрузчик композитора. 13.05.2015
  • сделал это, но все еще не работает, не уверен, как я связался с разработчиком 13.05.2015
  • все еще не работает - с какими ошибками вы столкнулись? 13.05.2015

Ответы:


1

Вам не следует устанавливать Sproutvideo вручную, потому что это больше беспорядка, чем вы можете себе представить. На самом деле, как вы выяснили, это вообще не поможет вам использовать Composer для установки Guzzle.

При использовании общего хостинга (и даже при использовании выделенных серверов с корневым доступом) рекомендуется НЕ вызывать Composer на этой машине для установки зависимостей. У вас должен быть способ разместить файлы вашего обычного веб-сайта на общем хосте, возможно, с помощью FTP (предупреждение: без шифрования паролей! Избегайте этого), SFTP, SCP, FTPS, WebDAV и т. д. Независимо от того, что вы используете для копирования файлов с локальный компьютер на общий хост, вы также должны использовать его для копирования файлов, которые Composer загрузил для вас.

Это означает, что вам нужно запустить Composer на этой локальной машине. Вы устанавливаете его и запускаете команду, необходимую для загрузки нужных вам пакетов и создания автозагрузки. После этого вы можете загрузить файлы на общий хост.

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

Чтобы использовать классы, автоматически загружаемые Composer, вам просто нужно включить файл, который находится по адресу vendor/autoload.php (если ваш файл PHP не находится в корневом каталоге, вы должны использовать правильный путь, скорее всего, добавьте ../ один или несколько раз). После включения этого файла вы просто используете классы. Обратите внимание, что вы должны использовать правильное пространство имен для библиотеки Sproutvideo.

Еще один момент: библиотека Sproutvideo в настоящее время не имеет выпущенной версии, поэтому инструкции по установке на странице Github фактически неверны, потому что вы не можете обратиться к выпущенной версии. Воспринимайте это как предупреждающий знак. Кроме того, эта библиотека зависит от устаревшей версии Guzzle 3.7. Последней версией в серии 3.x является 3.9.3, и она будет поддерживаться не позднее конца 2015 года. Это дополнительный предупреждающий знак. Вы можете связаться с сопровождающим Sproutvideo и попросить выпустить версию и обновите зависимость от Guzzle.

16.05.2015

2

Вы можете загрузить упакованную версию Guzzle с этого сайта, не требуя, чтобы Composer создавал зависимости.

https://php-download.com/package/guzzlehttp/guzzle

28.12.2017
  • сайт php-download.com недоступен. 10.07.2020
  • В настоящее время он пытается заставить вас зарегистрироваться, а затем заплатить за это (доказательство) 17.05.2021

  • 3

    Я искал способ установить Guzzle без Composer (я собираюсь установить его на рабочем сервере, и мне нужно свести к минимуму новые установки). Guzzle 3.x можно установить через PEAR:

    https://guzzle3.readthedocs.org/getting-started/installation.html

    3.x — старая версия, но я полагаю, что она подойдет для многих целей.

    Если вы используете RedHat или Centos, в репозитории EPEL есть пакет под названием «php-guzzle-Guzzle», который можно установить через yum. Если вы это сделаете, способ включения Guzzle в ваш php-код будет следующим:

    <?php
    require "Guzzle/autoload.php";
    
    27.10.2015

    4

    Работай на меня! Спасибо

    Download link: https://php-download.com/package/guzzlehttp/guzzle#all-versions
    ---------------------------------------------
    
    
    HomeDgtInform.controller.php
    ---------------------------------------------
    use GuzzleHttp\Client;
    use GuzzleHttp\Exception\RequestException;
    use GuzzleHttp\Psr7\Request;
    
    class HomeDgtInform extends DefaultController
    {
    
        public static function getRootPath() {
            return realpath(__DIR__ . "/../../");
        }
    
        public function getInfo()
        {
            set_include_path($this->getRootPath() . '/guzzlehttp_guzzle_7.0.0.0_beta1_require/');
            require_once($this->getRootPath() ."/guzzlehttp_guzzle_7.0.0.0_beta1_require/vendor/autoload.php"); 
    
            try {
                $url      = 'https://cat-fact.herokuapp.com'; 
                $http     = new Client;
                $request  = new Request('GET', $url . '/facts/random?animal_type=cat&amount=2');
                $response = $http->send($request, []);
    
                $resp = json_decode((string) $response->getBody(), false);
            } catch (RequestException $e) {
                $error = json_decode($e->getResponse()->getBody()->getContents());
            } catch (\Exception $e) {
            }
    
        }
    
    
    ---------------------------------------------
    
    .
    ├── controllers
    │   └── web
    │       └── HomeDgtInform.controller.php
    ├── guzzlehttp_guzzle_7.0.0.0_beta1_require
    │   ├── composer.json
    │   ├── composer.lock
    │   ├── index.php
    │   └── vendor
    │       ├── autoload.php
    
    
    27.01.2020
    Новые материалы

    Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
    Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

    Отслеживание состояния с течением времени с дифференцированием снимков
    Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

    Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
    Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

    Игра в прятки с данными
    Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

    «Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
    TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..

    Раскройте свой потенциал в области разработки мобильных приложений: Абсолютная бесплатная серия
    Глава 6: Работа в сети и выборка данных Глава 1: Введение в React Native Глава 2: Основы React Native Глава 3: Создание пользовательского интерфейса с помощью React Native Глава 4:..

    Все о кейсах: Camel, Snake, Kebab & Pascal
    В программировании вы сталкивались с ними при именовании переменной, класса или функции. Поддержание согласованности типов и стилей случаев делает ваш код более читабельным и облегчает совместную..