Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг Хостинг
Composer

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


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

PHP Composer

Также очевидны преимущества использования данного инструмента: разработчику не придётся самостоятельно загружать и подключать необходимые библиотеки и их зависимости, Composer всё сделает за вас! Автозагрузка классов через файл autoload.php подключит в вашем проекте все необходимые пакеты, расположенные в каталоге vendor.

Содержание
  1. Установка Composer на виртуальном хостинге
  2. Установка PHP Composer на виртуальном хостинге
  3. Что такое PHP Composer
  4. Как работает PHP Composer
  5. Установка Composer на виртуальный хостинг
  6. Установка Laravel
  7. Создание символической ссылки
  8. Подключение Базы данных
  9. Laravel 8 · Установка
  10. Почему именно Laravel?
  11. Прогрессивный фреймворк
  12. Масштабируемый фреймворк
  13. Фреймворк сообщества
  14. Ваш первый проект на Laravel
  15. Начало работы в macOS
  16. Начало работы в Windows
  17. Разработка в подсистеме WSL2
  18. Начало работы в Linux
  19. Выбор служб Sail
  20. Установка через Composer
  21. Установщик Laravel
  22. Начальная конфигурация
  23. Конфигурация на основе окружения
  24. Конфигурация каталога
  25. Следующие шаги
  26. Laravel как клиент-серверный фреймворк
  27. Laravel в качестве сервера API
  28. Установка Laravel
  29. Алгоритм по установке Laravel
  30. Установка
  31. Установка Laravel
  32. Настройка
  33. Настройка веб-сервера
  34. Красивые URL
  35. Настройки окружения
  36. Настройки кэширования
  37. Доступ к значениям настроек
  38. Название для приложения
  39. Режим обслуживания
  40. Шаблон отклика режима обслуживания
  41. Режим обслуживания и очереди
  42. Комментарии (17)
  43. Установка на Windows
  44. Десктоп
  45. Установка из командной строки
  46. Установка на *nix и mac
  47. Локально
  48. Глобально
  49. Этот материал был полезен?
  50. Требования Laravel к хостингу
  51. Хостинг с поддержкой Laravel
  52. Почему стоит выбрать наш хостинг сайтов под Laravel?

Установка Composer на виртуальном хостинге

Чтобы установить пакетный менеджер на сервер сперва необходимо подключиться к серверу по SSH-протоколу. Для этого введите в терминале команду:

 .31.196.176

Для удобства дальнейшей установки задайте переменную PHP_PATH. Например, если на сайте используется версия PHP 7.3, то выполните команду следующего вида:

PHP_PATH=php//bin/php

На следующих этапах установки вы сможете использовать переменную $PHP_PATH или прописывать полный путь до файла PHP вручную. В дальнейшем этот путь придётся использовать не один раз, поэтому рекомендую задать и использовать переменную.

Создайте каталог bin, в который будет установлен Composer, в корневой папке услуги хостинга следующей командой:

mkdir -p bin

Перейдите в созданный каталог следующей командой:

cd bin
curl -sS https://getcomposer.org/installer > composer-setup.phpcd ~
$PHP_PATH bin/composer-setup.php --install-dir=bin --filename=composer

Создайте файл .profile, чтобы запускать нужную версию PHP и установленный Composer из командной строки по команде PHP. Для этого последовательно введите команды:

 "alias php='$PHP_PATH -c $HOME/php-bin/php.ini'" >> ~/.profile "alias composer='$PHP_PATH -c $HOME/php-bin/php.ini $HOME/bin/composer'" >> ~/.profile

Переменная $HOME — это домашний каталог текущего пользователя на сервере.

Для корректного запуска утилиты по команде Composer при следующем подключении к серверу добавьте строки:

 >> ~/.bashrc
source ~/.profile

Проверьте правильность установки вводом команды:

composer

При правильной установке терминал ответит:

Composer command

Установка Laravel framework на виртуальный хостинг осуществляется в несколько действий которые мы подробно разберем в этой инструкции.

Перейдите в меню Сайты и домены панели управления хостингом, выберите домен, на который нужно установить приложение и выберите в меню пункт Git как показано на скриншоте.

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Далее в открывшемся меню настроек Git в поле Удаленный репозиторий Git вставьте ссылку https://github.com/laravel/laravel и нажмите OK.

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

В течение нескольких секунд репозиторий будет добавлен и покажет меню настроек. Мы в своем примере использовали настройки репозитория по умолчанию.

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Вернемся в основное меню и перейдем в меню php composer, он понадобится нам, чтобы установить необходимые пакеты. Нажмем на кнопку сканировать.

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Через несколько секунд будут найдены необходимые для установки зависимости, необходимые для правильной работы, установим их как показано на скриншоте ниже.

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

После установки зависимости пакетов поменяют статус в выделенном блоке справа на Установлены.

Перейдем в основное меню к настройкам хостинга и php для самого приложения. Теперь нужно поменять каталог указанный по умолчанию, в нашем случае с httpdocs на httpdocs/public

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

После чего нажмите ОК, для применения глобальных настроек потребует некоторое время, о чем сообщим панель управления, это сделано чтобы избежать ошибок при работе нескольких пользователей с одним и тем-же доменом или настройками одновременно. Далее перейдите в настройки php и убедитесь в правильности версии, в нашем примере мы использовали php 7.4 работающую через nginx fpm.

  • Также стоит убедится в настройках php, что директива open_basedir  установлена в значение: {WEBSPACEROOT}, если ничего не меняли ранее то такие настройки идут по умолчанию.
  • Теперь воспользовавшись файловым менеджером панели управления переименуйте файл в корне папки httpdocs с .env.example на .env
  • Далее нужно сгенерировать ключ шифрования, откройте планировщик задач в правом меню панели управления хостинга и выполните php cкрипт, где путь к скрипту /var/www/vhosts/node-name.ru/httpdocs/artisan поле с аргументами key:generate (Не забудьте заменить в пути к скрипту домен на свой)

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг


Выполнить скрипт нужно всего 1 раз, как задачу его добавлять не следует, мы просто использовали планировщик как командную строку. При успешном выполнении скрипта Вы увидите сообщение Application key set successfully. Готово.

У нас приложение выглядит так:

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

1. Использование данного фреймворка подразумевает, что у Вас на VPS установлен веб-сервер, например Apache, система управления базами данных и PHP.

3. Устанавливаем git, если он ещё не установлен и скачиваем через него последнюю версию Laravel в папку /var/www/. Команды:
yum -y install git
cd /var/www/
git clone https://github.com/laravel/laravel.git

Установка git

4. Переходим в папку с Laravel, запускаем установку через Composer:
cd /var/www/laravel
composer install

Настройка Laravel

Настройка Laravel

5. Зададим Apache в качестве владельца директории с установленной Laravel и выставим права доступа:
chown -R apache:apache /var/www/laravel
chmod -R 755 /var/www/laravel

Далее нам нужно установить ключ приложения (нужен для шифрования сессий пользователей и других важных данных). Перейдем в директорию с Laravel и создадим файл .env (скопировав и переименовав файл .env.example):
cd /var/www/laravel
cp .env.example .env

Установка ключа приложения

6. После того, как файл .env создан, генерируем ключ командой:
php artisan key:generate
Должно вывестись сообщение, что ключ установлен успешно, а в содержимом файла .env должна заполниться соответствующая строка. Её можно посмотреть командой cat:
cat /var/www/laravel/.env
Установка ключа приложения

7.  Далее создаем новый виртуальный хост, чтобы доступ к установленному приложения можно было получить через браузер. Конкретные действия могут отличаться в зависимости от текущих настроек установленного у Вас Веб-сервера или иного ПО (например панели управления). В данном примере рассматривается способ, для свеже-установленного Apache. Вместо nittest3.onhh.ru указывайте имя Вашего домена.

8. Настройка завершена. Переходим по имени домена в браузере, должна открыться стартовая страница Laravel.

Стартовая страница Laravel

Установка PHP Composer на виртуальном хостинге

Читайте нашу статью, если хотите узнать, что такое Composer PHP и как установить его на виртуальный хостинг.

Что такое PHP Composer

  • быстро ищет библиотеки по их названию, а затем автоматически их устанавливает,
  • подбирает и настраивает зависимости для каждой библиотеки,
  • обновляет не только библиотеки, но и их зависимости,
  • создает пакеты для библиотек,
  • помогает добавить PHP-пакеты в проект,
  • позволяет сделать установку из любого git/hg/svn репозитория произвольной структуры,
  • все пакеты устанавливаются в текущую директорию (откуда была выполнена команда install), что позволяет иметь несколько различных версий библиотек при работе над разными проектами одновременно.

По сути, Composer является PHP-скриптом. Чтобы утилита выполнила тот или иной порядок действий, достаточно ввести несколько команд. Это незаменимый инструмент для программиста и веб-разработчика.

Как работает PHP Composer

При установке утилиты создается текстовый файл composer.json — это центральный файл менеджера. В нём прописываются сторонние пакеты, которые необходимы для работы композера — все его зависимости, а также требования к версиям. Также утилита генерирует файл composer.lock — в него сохраняются все версии пакетов, которые будет устанавливать пользователь. Файл отвечает за поддержание среды тестирования и разработки. Он незаменим при переносе или копировании проекта. В качестве репозитория пакетов Composer по умолчанию использует packagist.org.

PHP-скрипт создает в корневой директории каждого проекта папку «vendor». В неё Composer загружает все сторонние библиотеки. Помимо этого скрипт создает файл autoload.php. Если до установки менеджера пользователь уже использовал библиотеки, их также можно можно будет подключить к файлу с помощью одной команды.

Установка Composer на виртуальный хостинг

Чтобы установить пакетный менеджер на сервер:

Подключитесь к серверу по SSH. Для этого введите в терминале команду:

Эту информацию можно узнать в письме, отправленном после заказа услуги виртуального хостинга, или в личном кабинете.

При корректном подключении каждая следующая строка будет начинаться с
-bash-4.1$.

Для удобства дальнейшей установки задайте переменную PHP следующим образом:

Например, если на сайте используется php 5.3: /opt/php/5.3/bin.

В следующих этапах установки вы сможете использовать переменную $PHP или прописывать полный путь /opt/php/ваша_версия/bin/php до файла php вручную.

Создайте каталог, в который будет установлен composer, в корневой папке услуги:

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Laravel — бесплатный фреймворк для разработки сайтов на PHP. Он содержит в себе набор шаблонов и функций, которые упрощают процесс разработки сайтов.

Установка Laravel

Удалите папку с доменом, на который планируется установка Laravel:

Если в этой папке есть важные данные, её можно переименовать:

Фреймворк установлен. Настройте домен для работы с ним.

Создание символической ссылки

По умолчанию корневым каталогом сайта является папка public_html, однако Laravel работает с каталогом public. Чтобы сайт открывался из директории фреймворка, создайте символическую ссылку:

Перейдите на сайт. Если фреймворк работает корректно, вы увидите страницу:

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Подключение Базы данных

Работать с фреймворком вы можете уже на этом этапе, но большинству проектов требуется база данных.

При возникновении трудностей в процессе установки Laravel, напишите в службу поддержки — мы поможем разобраться.

Laravel 8 · Установка

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

Laravel стремится обеспечить потрясающий опыт разработчика, предоставляя при этом мощный функционал: тщательное внедрение зависимостей, выразительный уровень абстракции базы данных, очереди и запланированные задачи, модульное и интеграционное тестирование и многое другое.

Независимо от того, новичок ли вы в PHP, веб-фреймворках или имеете многолетний опыт, Laravel – это фреймворк, который может расти вместе с вами. Мы поможем вам сделать первые шаги в качестве веб-разработчика или подскажем, как вы поднимите свой опыт на новый уровень. Нам не терпится увидеть, что вы построите.

Читайте также:  Что такое хостинг сайта и зачем он нужен | Простыми словами | Макхост

Почему именно Laravel?

При создании веб-приложения вам доступны различные инструменты и фреймворки. Однако мы считаем, что Laravel – лучший выбор для создания современных полнофункциональных веб-приложений.

Прогрессивный фреймворк

Нам нравится называть Laravel «прогрессивным» фреймворком. Под этим мы подразумеваем, что Laravel растет вместе с вами. Если вы только делаете первые шаги в веб-разработке, обширная библиотека документации, руководств и видеоуроков Laravel поможет вам изучить основы, не перегружая себя.

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

Масштабируемый фреймворк

Laravel невероятно масштабируем. Благодаря удобному для масштабирования характеру PHP и встроенной поддержке быстрых распределенных систем кеширования, таких как Redis, горизонтальное масштабирование с Laravel очень просто. Фактически, приложения Laravel легко масштабируются для обработки сотен миллионов запросов в месяц.

Требуется экстремальное масштабирование? Такие платформы, как Laravel Vapor, позволяют запускать приложение Laravel в практически неограниченном масштабе с использованием новейшей бессерверной технологии AWS.

Фреймворк сообщества

Laravel объединяет лучшие пакеты в экосистеме PHP, чтобы предложить наиболее надежный и удобный для разработчиков фреймворк. Кроме того, тысячи талантливых разработчиков со всего мира внесли свой вклад в фреймворк. Кто знает, возможно, вы даже станете соучастником Laravel.

Ваш первый проект на Laravel

Мы хотим, чтобы начать работу с Laravel было как можно проще. Существует множество вариантов разработки и запуска проекта Laravel на вашем собственном компьютере. Хотя вы, возможно, захотите изучить эти варианты позже, но Laravel предлагает Sail – встроенное решение для запуска вашего проекта Laravel с помощью Docker.

Docker – это инструмент для запуска приложений и служб в небольших, легких «контейнерах», которые не мешают установленному на вашем локальном компьютере программному обеспечению или его конфигурации. Это означает, что вам не нужно беспокоиться о конфигурировании или настройке сложных инструментов разработки, таких как веб-серверы и базы данных на вашем персональном компьютере. Для начала вам нужно всего лишь установить Docker Desktop.

Laravel Sail – это легкий интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel. Sail обеспечивает отличную отправную точку для создания приложения Laravel с использованием PHP, MySQL и Redis без предварительного опыта работы с Docker.

Уже знакомы с Docker? Не волнуйтесь! В Sail все можно перенастроить с помощью файла docker-compose.yml , входящего в Laravel.

Начало работы в macOS

Если вы разрабатываете на Mac и Docker Desktop уже установлен, то вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app , вы можете запустить следующую команду в своем терминале:

Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:

При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.

После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.

Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.

Начало работы в Windows

Прежде чем мы создадим новое приложение Laravel на вашем компьютере с Windows, обязательно установите Docker Desktop. Затем вы должны убедиться, что подсистема Windows для Linux 2 (WSL2) установлена и включена. WSL позволяет запускать двоичные исполняемые файлы Linux прямо в Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации Среда разработки.

После установки и включения WSL2 вы должны убедиться, что Docker Desktop настроен на использование серверной части WSL2.

Теперь вы готовы создать свой первый проект Laravel. Запустите Терминал Windows и начните новый сеанс терминала для вашей операционной системы WSL2 Linux. Затем вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app , вы можете запустить следующую команду в своем терминале:

Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:

При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.

После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.

Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.

Разработка в подсистеме WSL2

Конечно, вам нужно будет иметь возможность изменять файлы приложения Laravel, которые были созданы в вашей установке WSL2. Для этого мы рекомендуем использовать редактор Microsoft Visual Studio Code и его собственное расширение Remote Development.

После установки этих инструментов вы можете открыть любой проект Laravel, выполнив из корневого каталога вашего приложения команду code . с помощью Терминала Windows.

Начало работы в Linux

Если вы разрабатываете в Linux и Docker Desktop уже установлен, то вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app , вы можете запустить следующую команду в своем терминале:

Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:

При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.

После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.

Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.

Выбор служб Sail

При создании нового приложения Laravel через Sail вы можете использовать строковую переменную запроса with , чтобы выбрать, какие службы должны быть настроены в файле docker-compose.yml вашего нового приложения. Доступны следующие службы mysql , pgsql , redis , memcached , meilisearch , selenium и mailhog :

Если вы не укажете желаемые службы, то будет сконфигурирован стек по умолчанию из mysql , redis , meilisearch , mailhog и selenium .

Установка через Composer

Если на вашем компьютере уже установлены PHP и Composer, то вы можете создать новый проект Laravel напрямую с помощью Composer. После того, как приложение было создано, вы можете запустить локальный сервер разработки Laravel с помощью команды serve Artisan CLI:

Установщик Laravel

В качестве альтернативы, вы можете использовать установщик Laravel, включив его в глобальную зависимость Composer:

Чтобы исполняемый файл laravel мог быть обнаружен вашей системой, удостоверьтесь в правильном расположении каталога bin менеджера пакетов Composer, задаваемый системной переменной $PATH . Расположение каталога зависит от вашей операционной системы, но типичными могут быть:

  • macOS: $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  • GNU / Linux Distributions: $HOME/.config/composer/vendor/bin или $HOME/.composer/vendor/bin

Для удобства установщик Laravel также может создать репозиторий Git для вашего нового проекта. Чтобы указать, что вы хотите создать репозиторий Git, передайте флаг —git при создании нового проекта:

Эта команда инициализирует новый репозиторий Git для вашего проекта и автоматически зафиксирует базовый каркас Laravel. Флаг —git предполагает, что вы правильно установили и настроили Git. Можно также использовать параметр —branch , чтобы задать имя ответвления:

Вместо использования флага —git вы можете использовать параметр —github , чтобы создать репозиторий Git и, соответствующий ему, частный репозиторий на GitHub:

Созданный репозиторий будет доступен по адресу https://github.com/<your-account>/example-app . Параметр —github предполагает, что вы правильно установили GitHub CLI и прошли аутентификацию с помощью интерфейса командной строки. Кроме того, у вас должен быть установлен и правильно настроен git . При необходимости вы можете передать дополнительные параметры и флаги, поддерживаемые GitHub CLI:

Можно использовать параметр —organization для создания репозитория под определенной организацией GitHub:

Начальная конфигурация

Конфигурация на основе окружения

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

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

Для получения дополнительной информации о конфигурации на основе файла .env и окружения ознакомьтесь с полной документацией по конфигурации.

Конфигурация каталога

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

Следующие шаги

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

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

Laravel как клиент-серверный фреймворк

Laravel может служить клиент-серверным фреймворком. Под «клиент-серверным фреймворком» мы подразумеваем, что вы собираетесь использовать Laravel для маршрутизации запросов к вашему приложению и отрисовки интерфейса через шаблоны Blade или с использованием гибридной технологии одностраничного приложения, такой как Inertia.js. Это наиболее распространенный способ использования фреймворка Laravel.

Если вы планируете использовать Laravel именно таким образом, вы можете ознакомиться с нашей документацией по маршрутизации, представлениям или Eloquent ORM. Кроме того, вам может быть интересно узнать о таких пакетах сообщества, как Livewire и Inertia.js. Эти пакеты позволяют использовать Laravel в качестве фреймворка полного стека, при этом пользуясь многими преимуществами UI, предоставляемыми одностраничными JavaScript-приложениями.

Читайте также:  Как добавить поддомен в cloudflare

Если вы используете Laravel в качестве фреймворка полного стека, мы также настоятельно рекомендуем вам научиться компилировать CSS и JavaScript вашего приложения с помощью Laravel Mix.

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

Laravel в качестве сервера API

Laravel также может служить серверной частью API для одностраничного JavaScript-приложения или мобильного приложения. Например, вы можете использовать Laravel в качестве серверной части API для своего Next.js приложения. В этом контексте вы можете использовать Laravel для обеспечения аутентификации и хранения / получения данных для вашего приложения, а также пользуясь преимуществами мощных служб Laravel, таких как очереди, электронная почта, уведомления и многое другое.

Если вы планируете использовать Laravel именно так, то вы можете ознакомиться с нашей документацией по маршрутизации, пакету Laravel Sanctum и Eloquent ORM.

Установка Laravel

Laravel — бесплатный PHP-фреймворк с открытым кодом, предназначенный для разработки с использованием архитектурной модели MVC ( M odel V iew C ontroller). В данной статье мы расскажем, как с лёгкостью установить данный фреймворк у нас на хостинге.

Алгоритм по установке Laravel

Шаг 1 После создания технического домена (для примера мы создали laravel-test.com), переходим в раздел Файловый менеджер через и создаём новый файл .bash_profile в корне аккаунта (hostXXXXXXX/.bash_profile), в который вставим директивы:

После внесения данных параметров в файл .bash_profile необходимо перезапустить сессию ssh, то есть переподключиться.

Если Вы планируете использовать другую версию php, полный список интерпретаторов приведен здесь — просто замените php-7.1 на любую другую из списка. Желательно использовать версию не ниже 7.1

После сохранения файла, переходим в раздел SSH и нажимаем Открыть SSH клиент (доступен только для оплаченных аккаунтов).

Шаг 2 Самый расппространённый способ установки Laravel — использование менеджера пакетов Composer. Мы им и воспользуемся:

Шаг 3 Только что мы установили Composer в корень своего аккаунта. Скачаем загрузчик Laravel:

Готово. Переходим в директорию нашего будущего проекта:

Шаг 4 Следующей командой создаём свежую установку Laravel в директории с произвольным именем (в дальнейшем, оно нам не понадобится):

Laravel подгрузил все необходимые зависимости.

Шаг 5 Для корректной работы сайта, необходимо создать копию файла .env.example (он находится в корне только что созданной директории project), переименовать его просто в .env и сгенерировать рандомный ключ. Это можно сделать командой:

Он будет автоматически добавлен в файл .env

Шаг 6 Теперь, копируем все файлы из директории

/laravel-test.com/htdocs/project и переносим их в

/laravel-test.com/htdocs/www. Так как по умолчанию приложение использует папку /public, то и чтобы открыть главную страницу Вашего сайта, пользователям нужно будет пройти по ссылке вида site.com/public. Чтобы этого избежать, зададим правила в .htaccess файле, предварительно создав его в

На этом установка завершена. Если всё сделано верно, то при открытии главной страницы сайта, Вы увидите стартовую страницу:

Стартовая страница Laravel

Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из раздел «Помощь и поддержка».

Установка

У Laravel есть несколько системных требований. Само собой, все они учтены в виртуальной машине Laravel Homestead, поэтому рекомендуется использовать для локальной разработки именно её.

Но если вы не используете Homestead, то вам необходимо выполнить следующие требования:

  • PHP >= 5.6.4
  • PDO расширение для PHP (для версии 5.1+)
  • MCrypt расширение для PHP (для версии 5.0)
  • OpenSSL (расширение для PHP)
  • Mbstring (расширение для PHP)
  • Tokenizer (расширение для PHP)
  • XML (расширение для PHP) (для версии 5.3+)

Для PHP 5.5 в некоторых дистрибутивах ОС может потребоваться вручную установить расширение PHP JSON. В Ubuntu это можно сделать командой sh apt-get install php5-json .

Установка Laravel

Laravel использует Composer для управления зависимостями. Поэтому сначала установите Composer, а затем Laravel.

С помощью установщика Laravel

Сначала загрузите установщик Laravel с помощью Composer.

Не забудьте поместить каталог $HOME/.composer/vendor/bin (или его эквивалент в вашей ОС) в вашу переменную PATH, чтобы исполняемый файл laravel мог быть найден вашей системой.

После установки команда sh laravel new произведёт установку свежего Laravel в указанный каталог. Например, sh laravel new blog создаст каталог с именем blog , содержащий свежий Laravel со всеми установленными зависимостями:

С помощью создания проекта Composer

Вы также можете установить Laravel с помощью команды sh create-project :

После установки необходимо обновить пакеты до последних версий. Сначала удалите файл /vendor/compiled.php , затем смените текущий каталог на и выполните команду sh composer update .

Laravel устанавливается с готовыми преднастройками для регистрации и авторизации пользователей. Если хотите удалить их, используйте Artisan-команду sh fresh :

Локальный сервер для разработки

Если на вашей локальной машине установлен PHP, и вы хотите использовать встроенный в него сервер для разработки вашего приложения, вы можете использовать Artisan-команду sh serve . Эта команда запустит сервер на http://localhost:8000 :

Конечно, больше возможностей для надёжной локальной разработки доступно в Homestead и Valet.

Настройка

После установки Laravel необходимо настроить документ/веб корень вашего веб-сервера на папку public . Файл index.php в этой папке служит в качестве фронт-контроллера для всех HTTP-запросов, входящих в ваше приложение.

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

Права на папки

После установки Laravel вам может понадобиться настроить некоторые права. У вашего веб-сервера должны быть права на запись в папки внутри storage и bootstrap/cache ( vendor для версии 5.0), иначе Laravel не запустится. Если вы используете виртуальную машину Homestead, то там эти права уже настроены.

Далее вам необходимо задать случайную строку в качестве ключа приложения. Если вы установили Laravel с помощью Composer, то этот ключ уже был задан для вас командой sh php artisan key:generate .

Обычно эта строка должна быть длиной 32 символа. Ключ может быть задан в файле среды .env . Если вы ещё не переименовали файл .env.example в .env , то вам надо сделать это сейчас. Если ключ приложения не задан, данные пользовательских сессий и другие шифрованные данные не будут защищены!

Laravel практически не требует других начальных настроек — вы можете сразу начинать разработку! Однако вам может пригодиться файл config/app.php и его документация. Он содержит несколько настроек вроде timezone и locale, которые вы можете изменить для вашего приложения.

Также вы можете настроить некоторые дополнительные компоненты Laravel, такие как:

После установки Laravel вам также надо настроить локальную среду.

Никогда не оставляйте параметр app.debug со значением true в продакшне.

Настройка веб-сервера

Красивые URL

Laravel поставляется вместе с файлом public/.htaccess , который настроен для обработки URL без указания index.php . Если вы используете Apache в качестве веб-сервера, обязательно включите модуль mod_rewrite.

Если стандартный .htaccess не работает для вашего Apache, попробуйте следующий:

При использовании Nginx следующая директива в настройках вашего сайта позволит перенаправлять все запросы в фронт-контроллер sh index.php :

Само собой, при использовании Homestead или Valet красивые URL будут настроены автоматически.

Настройки окружения

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

Для удобства в Laravel используется PHP-библиотека DotEnv от Ванса Лукаса. В свежеустановленном Laravel в корневом каталоге вашего приложения находится файл .env.example . Если вы установили Laravel при помощи Composer, этот файл автоматически переименован в .env . В другом случае вам придётся переименовать его вручную.

Все находящиеся в этом файле переменные будут загружены в супер-глобальную переменную PHP $_ENV , когда ваше приложение получит запрос. Вы можете использовать функцию PHP env () для получения значений из этой переменной. На самом деле, если вы посмотрите в файлы настроек Laravel, то обнаружите, что некоторые параметры уже используют эту функцию!

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

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

Получение текущего окружения приложения
Текущее окружение приложения определяется с помощью переменной APP_ENV в файле .env . Вы можете получить это значение методом PHP environment () фасада App :

Также вы можете передать аргумент в метод PHP environment () , чтобы проверить совпадение с указанным значением. При необходимости вы можете передать даже несколько значений:

Экземпляр приложения также можно получить при помощи вспомогательного метода PHP app () :

Настройки кэширования

Для ускорения вашего приложения вы можете кэшировать все файлы настроек в единый файл при помощи Artisan-команды sh config:cache . Эта команда соберёт все параметры вашего приложения в единый файл, который может быть быстро загружен фреймворком.

Вам стоит всегда выполнять команду sh php artisan config:cache , как часть процедуры развёртывания в «продакшн» . При локальной разработке не стоит выполнять эту команду, так как параметры необходимо часто изменять при разработке приложения.

Доступ к значениям настроек

Вы легко можете обратиться к значениям настроек при помощи глобальной вспомогательной функции PHP config () . К значениям настроек можно обращаться с помощью «точечного» синтаксиса, который включает в себя имя файла и необходимый параметр. Также можно указать значение по умолчанию, которое будет возвращено, если запрашиваемый параметр не существует:

Чтобы задать значения настроек во время выполнения, передайте массив в функцию PHP config () :

Название для приложения

После установки Laravel вы можете дать «имя» вашему приложению. По умолчанию папка app входит в пространство имён App , и загружается с помощью Composer по стандарту автозагрузки PSR-4. Но вы можете изменить пространство имён в соответствии с названием вашего приложения, это делается простой Artisan-командой sh app:name .

Например, если ваше приложение называется «Horsefly» , вы можете выполнить такую команду в корневом каталоге приложения:

Переименование приложения вовсе не обязательно, при желании вы можете оставить пространство имён App .

Режим обслуживания

Когда ваше приложение находится в режиме обслуживания, для всех запросов в ваше приложение будет отображаться специальное представление. Это позволяет легко «отключить» приложение при его обновлении или выполнении обслуживания. Проверка режима обслуживания включена в стандартный набор посредников для вашего приложения. Если приложение находится в режиме обслуживания, будет выброшено исключение HttpException с кодом состояния 503.

Читайте также:  Что это такое и как её исправить

Для включения режима обслуживания просто выполните Artisan-команду sh down :

Для отключения режима обслуживания используйте команду sh up :

Шаблон отклика режима обслуживания

Стандартный шаблон отклика режима обслуживания расположен в resources/views/errors/503.blade.php .

Режим обслуживания и очереди

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

Комментарии (17)

во время установки через композер, на шаге installing-dependencies процесс установки зависает. помогает только ctrl+c. не подскажите в чем может быть проблема. пробовал установить symfony, ставится без проблем. система: windows7->openserver. заранее благодарен.

сам же отвечаю на свой вопрос. видимо дело было в каком то програмном глюке, переключил модуль php с версии 5.6 на версию 5.5 в настройках openserver, все заработало.

Установил через composer. Открываю через браузер и выдает ошибку. Не может заинклюдить файл /laravel/vendor/autoload.php А вот даже папки такой нет vendor в корне проекта. Файл инклюдит в /laravel/bootstrap/autoload.php line17

Все, разобрался. Mycrypt ему нужен был.

«Не забудьте поместить каталог

/.composer/vendor/bin в вашу переменную PATH, чтобы исполняемый файл laravel мог быть найден вашей системой.»

система ubuntu, что значит поместить в переменную? куда каталог перенести?

  1. система ubuntu, что значит поместить в переменную?

Ищите в Google, базовый вопрос раз пользуетесь Linux. Дописать в .bashrc:

Установка laravel относится к базовым вопросам системы?

Указанную строку добавил в файл, эффекта нет. Ушел искать ответ на базовый вопрос в гугл.

  1. Установка laravel относится к базовым вопросам системы?

Базовые вопросы не включают установку Laravel, но установка Laravel включает в себя базовые вопросы.

С Laravel и Composer кроме PATH вам нужно знать о множестве других вещей — как сделать composer.phar исполняемым, что такое права и группы, что такое Vagrant и т.п. Нельзя всё это описать в Установке.

Все верно, это относится к настройке ОС по факту и косвенно к Laravel. Нужно это понимать, а не ворчать. А ответил правильно, так можно добавить путь в PATH. Но в Linux’e. А если не знаете как аналогично сделать в винде, может рано за фреймворки браться и нужно освоить основы?

Prowler
ответ ради того, чтобы просто что то написать? винда то тут при чем?

Proger_XP
меня интересовал только вопрос по PATH. с остальным проблем нет.

  1. меня интересовал только вопрос по PATH. с остальным проблем нет.

Вы с августа его не решили? Как насчёт Google? С ходу — первый вопрос на русском SO.

Composer — это пакетный менеджер уровня приложений для языка программирования PHP. Он предоставляет средства по управлению зависимостями в PHP-приложении, как, например, Google Play или AppStore обеспечивают доступ к установке приложений на смартфонах.

Для работы Composer, конечно же, необходим уже установленный PHP.

Установка на Windows

Десктоп

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

В процессе установки необходимо указать путь к исполняемому файлу php.exe:

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Далее необходимо следовать инструкциям установщика.

По завершению установки нужно запустить команду composer и убедиться, что Сomposer заработал корректно.

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Установка из командной строки

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

Так как директория уже в переменной PATH, нам не нужно указывать в ней путь к файлу. После закрытия текущего терминала можно проверить установку в новом открытом терминале:

C:\Users\username>composer -V

Результат должен быть примерно таким:

Composer version 1.3.3 2020-01-10 20:34:53

Установка на *nix и mac

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Перед установкой нужно решить, как установить Сomposer: глобально или локально. Локальная установка позволяет запускать Сomposer в директории, в которой он установлен. Глобальная установка позволит работать из любой директории.

Локально

Для локальной установки необходимо запустить файл composer-setup.php в папке с вашим проектом. Установщик проверит настройки php и скачает файл composer.phar в эту же папку.

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

.phar — это архив PHP, который может быть запущен из командной строки.

Локальная установка завершена.  Запустить Сomposer и приступить к работе можно с помощью команды:

php composer.phar
Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Глобально

Для удобства можно настроить вызов без использования интерпретатора php. После запуска установщика можно переместить composer.phar в нужную директорию.

mv composer.phar /usr/local/bin/composer

Чтобы установить Сomposer для одного пользователя и не требовать для запуска права суперпользователя, можно использовать директорию ~/.local/bin, доступную во многих дистрибутивах Linux.

В некоторых версиях macOS каталог /usr по умолчанию не существует. Если вы получаете сообщение об ошибке «/usr/local/bin/composer: No such file or directory», то вам необходимо создать директорию вручную, прежде чем продолжить:

mkdir -p /usr/local/bin

Теперь можно запускать Composer командой

composer

из любой директории вместо локального использования

Composer reg ru установка и хостинг Руководство по размещению веб-сайтов Установка фреймворка Laravel на хостинг

Установка Composer завершена, он готов к использованию.

Этот материал был полезен?

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

Требования Laravel к хостингу

  • Любая ОС
  • Nginx или Apache
  • PHP 7.3+

Подключенные PHP расширения: BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML.

Наш хостинг полностью соответствует указанным требованиям!

Хостинг с поддержкой Laravel

Laravel первый фреймворк с поддержкой стандарта оформления кода — PSR 4.
Благодаря PSR 4 для разработки приложения вы сможете использовать одно пространство имен и структурировать его как пожелаете.
Теперь вам не нужно выполнять запросы в ручную для проверки на существования значений в базе данных, поскольку в Laravel можно использовать валидаторы.
Данные конструкции позволяют осуществлять проверку в базе данных с помощью готовых правил.
Создавайте задачи легко с помощью простого способа соединения с удаленным сервером через SSH-подключение и много других возможностей.

Почему стоит выбрать наш хостинг сайтов под Laravel?

  • Полная совместимость хостинга с Laravel.
  • Простая автоустановка фреймворка.
  • Дружелюбная техническая поддержка.
  • Бесплатный хостинг Laravel с тестовым периодом на первые 30 дней пользования.
  • Бесплатный перенос проекта на Laravel с текущего хостинга на HandyHost.
  • При покупке на год Laravel-хостинга домен .RU/.РФ вы получаете бесплатно!
  • У фреймворка имеется официальная детально сформулированная документация, которая позволяет эффективно освоить приложение, как начинающему, так и опытному веб-разработчику. Проводите Unit тестирование, создавайте систему авторизации, работайте с почтой и многое другое благодаря Laravel.

Handyhost — лучший хостинг для Laravel!

Время на прочтение

Никто не будет отрицать что Composer довольно удобный инструмент, и что есть бесплатные или дешевые хостинги которые не предоставляют какую либо консольку или встроенного инструмента для работы с Composer. Вот как раз с таким стеком я и столкнулся. Ну и как завещали джедаи, vendor сразу же добавляется в .gitignore чтоб не засорять им репозиторий и не гонять туда/сюда библиотеки.

Первое что пришло в голову это сделать скрипт доступный из Web, который можно дёрнуть в нужный момент и он обновит зависимости или установит их.

Для этого нам нужно провести некоторые манипуляции.

2. Создать папку куда он распакуется (пусть будет var).

3. Создать composer.json (ну про этот я думаю вы уже и так знаете если работали с composer).

4. Ну и создать сам скрипт для работы с композером из Web (пусть будет composer.php).

Итак мы имеем такую структуру нашего будущего сайта:

структура сайта

Сам же composer.phar будет следующим:

<?php
use Composer\Console\Application;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\StreamOutput;
//Уберём лимиты, чтоб скрипт не отвалился раньше времени
ini_set("memory_limit", -1);
ini_set("max_execution_time", 0);
//Корень проекта
$root = __DIR__ . "/../";
//Папка для разархивирования
$dir = "{$root}/var";
//Смотрим если Phar архив еще не распакован, то распакуем его
if (file_exists("{$dir}/vendor/autoload.php") === false) {	$composerPhar = new Phar("{$root}/composer.phar");	$composerPhar->extractTo($dir);
}
//Подключим автолоадер для использования классов композера
require_once("{$dir}/vendor/autoload.php" . '');
//Обьявим переменную окружения чтоб обозначить где хранится сам композер
putenv("COMPOSER_HOME={$dir}/bin/composer");
//Изменим папку на корень чтоб vendor хранился на том же уровне что и WebRoot
chdir($root);
//Подготавливаем комманду установки
$input = new ArrayInput(['command' => 'install']);
//Создаем вывод в стрим
$stream = fopen('php://temp', 'w+');
$output = new StreamOutput($stream);
//Запускаем "консольное" приложение
$application = new Application();
$application->setAutoExit(false);
$application->run($input, $output);
//А тут должен быть вывод
echo stream_get_contents($stream);

И если вы счатливчик. То после вызова скрипта, он развернёт папку vendor.

Но я таким не оказался) Первое что сломало мои планы это настройка phar.readonly = On в php.ini, и как вы уже догадались на бесплатных хостингах править его обычно нельзя. Тогда я начал искать пути обхода.

Тогда я попробовал использовать еще один трюк. Переименовать composer.phar в просто composer, результат то же. На локалке сработало, на хостинге — нет.

Тогда пришлось всё таки вместо скрипта распаковать в var файлы локально и залить их на сервер.

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

<?php
use Composer\Console\Application;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\BufferedOutput;
use Symfony\Component\Console\Output\OutputInterface;
//Уберём лимиты, чтоб скрипт не отвалился раньше времени
ini_set("memory_limit", -1);
ini_set("max_execution_time", 0);
//Негоже в Web хранить скрипты не закрытые паролем, чтоб кто-то посторонний мог их вызвать
if (isset($_SERVER['HTTP_AUTHORIZATION']) AND !empty($_SERVER['HTTP_AUTHORIZATION'])) {	list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)), 2);
} elseif (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION']) AND !empty($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {	list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6)), 2);
}
//Детали для авторизации, не забудьте поменять на что-то более секьюрное
$config = [	'user' => 'admin',	'password' => 'admin',
];
//Пускаем или не пускаем пользователя дальше
if ((isset($_SERVER['PHP_AUTH_USER']) && $_SERVER['PHP_AUTH_USER'] == $config['user'] && isset($_SERVER['PHP_AUTH_PW']) && $_SERVER['PHP_AUTH_PW'] == $config['password'])) {	unset($_SERVER['PHP_AUTH_USER']);	unset($_SERVER['PHP_AUTH_PW']);
} else {	$uniqueID = uniqid();	header("WWW-Authenticate: Basic realm='{$uniqueID}'");	header('HTTP/1.0 401 Unauthorized');	exit();
}
//Корень проекта
$root = realpath(__DIR__ . "/../");
//Папка для разархивирования
$dir = "{$root}/var";
//Смотрим если Phar архив еще не распакован, то распакуем его
if (file_exists("{$dir}/vendor/autoload.php") === false) {	$composerPhar = new Phar("{$root}/composer.phar");	$composerPhar->extractTo($dir);
}
//Подключим автолоадер для использования классов композера
require_once("{$dir}/vendor/autoload.php" . '');
//Обьявим переменную окружения чтоб обозначить где хранится сам композер
putenv("COMPOSER_HOME={$dir}/bin/composer");
//Изменим папку на корень чтоб vendor хранился на том же уровне что и WebRoot
chdir($root);
//Не очень то хорошо, но будем надеятся что пароль знает только человек который знает что он делает, и делает это во имя добра)
//По умолчанию composer update, так как он используется чаще чем ?command=install
$params = !empty($_GET) ? $_GET : ['command' => 'update'];
//Подготавливаем комманду установки.
$input = new ArrayInput($params);
//Создаем вывод в стрим
$output = new BufferedOutput(	OutputInterface::VERBOSITY_NORMAL
//true
);
//Запускаем "консольное" приложение
$application = new Application();
$application->setAutoExit(false);
$application->run($input, $output);
$content = $output->fetch();
echo "<pre>";
//А тут должен быть вывод
echo $content;
echo "<br>";
echo (file_exists("{$root}/vendor/autoload.php")) ? 'Autoload <b>installed</b>' : 'Autoload <b>Missing</b>';

Также не помешает добавить в .htaccess правило для проброса заголовка авторизации (в случае с CGI) и редиректа на HTTPS, так как авторизация уходит в открытом виде.

RewriteEngine On
#Если у вас CGI, то заголовок авторизации потеряется, поэтому нужно его принудительно добавить
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#Переадресация на HTTPS, так как авторизация уходит в незашифрованном виде
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]

Оцените статью
Хостинги