itstnd@yandex.ru

Консультации

Разработка и поддержка сайтов

Установка composer и symfony без доступа к интернет на целевой машинке

 php    

Установка Composer:

  1. Загрузка Composer:

Скачайте файл composer.phar (архиватор PHP) с официального сайта Composer: getcomposer.org/download.

  1. Перенос файла composer.phar на сервер:

Загрузите файл composer.phar на сервер, например, через FTP или любым другим способом передачи файлов на сервер.

  1. Переименование Composer:
    composer.phar в composer, чтобы можно было запускать Composer из командной строки без указания расширения файла.
  2. Установка Composer глобально (опционально):

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

Установка Symfony CLI:

  1. Загрузка Symfony CLI:

Скачайте файл Symfony CLI с официального сайта Symfony: symfony.com/download.

  1. Перенос Symfony CLI на сервер:

Загрузите файл Symfony CLI на сервер, так же как и файл Composer.

  1. Добавление прав на выполнение (опционально):

Убедитесь, что файл Symfony CLI имеет права на выполнение на сервере.

Установка зависимостей проекта:

После установки Composer и Symfony CLI на сервер, перейдите в директорию вашего Symfony-проекта и запустите команду composer install. Это загрузит все зависимости, указанные в файле composer.json, включая Symfony и его компоненты.

Замечание:

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

Установка Symfony 2.8 (или любой другой версии Symfony) без доступа к интернету требует немного больше усилий, чем обычная установка, поскольку вы не сможете напрямую использовать Composer для загрузки пакетов из Packagist. Вместо этого вам нужно будет предварительно загрузить все необходимые зависимости на другом компьютере с доступом к интернету и затем перенести их на целевую машину. Вот как это можно сделать:

Шаг 1: Загрузка Symfony и зависимостей

  1. На компьютере с доступом к интернету создайте новый проект Symfony 2.8, используя Composer. Если у вас уже есть проект на Symfony 2.8, пропустите этот шаг. Выполните команду в терминале:
    composer create-project symfony/framework-standard-edition my_project_name "2.8.*"

    Эта команда создаст новый проект Symfony версии 2.8 с именем my_project_name.

  2. После загрузки Symfony и всех зависимостей, вам нужно будет также собрать все эти файлы вместе, чтобы они могли быть перенесены. Убедитесь, что копируете весь каталог проекта, включая папки vendor, var, и web, а также файлы composer.json и composer.lock.

Шаг 2: Перенос файлов на целевую машину

  1. Используйте USB-накопитель, внешний жесткий диск или другой метод, чтобы перенести скопированные файлы проекта на целевую машину без доступа к интернету.

Шаг 3: Установка Composer (если он еще не установлен)

  1. Composer может потребоваться для дальнейшего управления зависимостями и автозагрузки. Если Composer не установлен на целевой машине, загрузите composer.phar с официального сайта getcomposer.org на машине с доступом к интернету и перенесите его на целевую машину.

Шаг 4: Проверка проекта

  1. На целевой машине откройте терминал или командную строку и перейдите в каталог вашего проекта.
  2. Запустите PHP встроенный сервер для проверки, работает ли ваш Symfony проект, используя следующую команду:
    php app/console server:run

    Это запустит встроенный в PHP веб-сервер, и вы сможете доступ к вашему Symfony проекту через браузер, перейдя по адресу, указанному в терминале (обычно http://127.0.0.1:8000).

Примечания

  • Этот метод требует, чтобы PHP был установлен на целевой машине.
  • Если в проекте используются базы данных, убедитесь, что соответствующая СУБД установлена на целевой машине, и настройте параметры подключения к базе данных в файле конфигурации проекта.
  • Помните, что любые дополнительные зависимости или изменения в composer.json потребуют повторения процесса загрузки и переноса зависимостей с машины с доступом к интернету.