Установка и настройка Symfony

В этой главе описано, как установить Symfony разными способами и как решить наиболее распространенные проблемы, которые могут возникнуть в процессе установки.

Предпочитаете видео-туториалы? Посмотреите серию Разработка на Symfony с удовольствием от KnpUniversity.

Cоздание приложений Symfony

Symfony предоставляет специальное приложение под названием Установшик Symfony для облегчения создания приложений Symfony. Этот установщик совместим с PHP 5.4 и нуждается в единоразовой установке на вашу систему:

1
2
3
4
5
6
7
# системы Linux and macOS
$ sudo mkdir -p /usr/local/bin
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony

# системы Windows
c:\> php -r "readfile('https://symfony.com/installer');" > symfony

Note

В Linux и macOS создается глобальная команда symfony. В Windows, переместите файл symfony в папку, которая включена в переменную окружения PATH для создания глобальной команды, или переместите его в любую другую удобную вам папку:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# например, при использовании WAMP ...
c:\> move symfony c:\wamp\bin\php
# ... выполните команду:
c:\> symfony

# перемещение в вашу папку проектов ...
c:\> move symfony c:\projects
# ... выполните команду
c:\> cd projects
c:\projects\> php symfony

Когда установщик Symfony будет установлен, создайте ваше первое приложение Symfony c помощью команды new:

1
$ symfony new my_project_name

Эта команда создаст новую папку под названием my_project_name/, в которой будет пустой проект, основанный на последней доступной стабильной версии Symfony. Кроме того, установщик проверяет, соответствует ли ваша система техническим требованиям для выполнения приложений Symfony. Если нет, вы увидите список необходимых изменений для соответствия требованиям.

Note

Если установщик не работает или не выдает никакого результата, убедитесь в том, что на вашем компьютере установлен и включено PHP расширение Phar.

Note

Если сертификаты SSL установлены в вашей системе неправильно, вы можете увидеть такую ошибку:

cURL error 60: SSL certificate problem: unable to get local issuer certificate.

Вы можете решить эту проблему следующим образом:

  1. Скачайте файл с обновленным списком сертификатов по ссылке https://curl.haxx.se/ca/cacert.pem

  2. Переместите скачанный файл cacert.pem в безопасное место вашей системы

  3. Обновите ваш файл php.ini и создайте путь к нему:

    1
    2
    3
    4
    5
    ; системы Linux и macOS
    curl.cainfo = "/path/to/cacert.pem"
    
    ; системы Windows
    curl.cainfo = "C:\path\to\cacert.pem"
    

Создание вашего проекта на базе конкретной версии Symfony

Если ваш проект должен быть основан на конкретной версии Symfony, используйте второй дополнительный аргумент команды new:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# использовать последнюю версию любой ветви Symfony
$ symfony new my_project_name 2.8
$ symfony new my_project_name 3.1

# использовать конкретную вресию Symfony
$ symfony new my_project_name 2.8.3
$ symfony new my_project_name 3.1.5

# использовать бета или RC версию (удобно для тестированя новых версий Symfony)
$ symfony new my_project 2.7.0-BETA1
$ symfony new my_project 2.7.0-RC1

# использовать последнюю версию 'lts' (версия долгосрочной поддержки)
$ symfony new my_project_name lts

Каждая версия имеет свою докуменатцию, которую вы можете выбрать на любой странице документации (в русском переводе есть только одна версия - прим. переводчика).

Note

Прочтите Процесс выпуска Symfony, чтобы лучше понимать, почему существует несколько версий Symfony, и какую из них использовать для ваших проектов.

Создание приложений Symfony с помощью Composer

Если вы до сих пор пользуетесь версией PHP 5.3, либо если вы по какой-то причине не можете использовать установщик, вы можете создавать приложения Symfony с помощью Composer, диспетчера внедрения зависимостей, который используют современные PHP-приложения.

Если на вашем компьюетере не установлен Composer, начните с глобальной установки Composer. Потом, выполните команду create-project, чтобы создать новое приложение Symfony, основанное на его последней стабильной версии:

1
$ composer create-project symfony/framework-standard-edition my_project_name

Вы также можете установить любую другую версию Symfony передав второй аргумент в команде create-project:

1
$ composer create-project symfony/framework-standard-edition my_project_name "2.8.*"

Tip

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

Запуск приложения Symfony

Symfony использует внутренний веб-сервер PHP (доступный с версии PHP 5.4), таким образом, что в процессе разработки приложение можно сразу запускать. Следовательно, приложение Symfony можно запустить путём загрузки каталога проекта и выполнения следующей команды:

1
2
$ cd my_project_name/
$ php bin/console server:run

Затем откройте ваш браузер и зайдите на http://localhost:8000/ URL, чтобы увидеть приветственную страничку Symfony:

Symfony Welcome Page

Если вместо приветственной странички вы видите пустую страницу или отчёт об ошибке, то это вследствие ошибки в конфигурации прав доступа каталога. Решение этой проблемы описано в части Настройка прав доступа.

Когда вы закончите работу над вашим приложением Symfony, остановите сервер нажатием Ctrl+C в терминале или коммандной строке.

Tip

Внутренний веб-сервер PHP прекрасно подходит для разработки, но его не следует использовать на готовом продукте. Вместо этого используйте Apache или Nginx. См. раздел Настройка веб-сервера.

Проверка конфигурации и настроек приложения Symfony

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

1
http://localhost:8000/config.php

Устранение проблем доступа

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

Обновление приложений Symfony

К данному моменты вы уже создали полностью функционирующее приложение Symfony! Каждое приложение Symfony зависит от множества внешних библиотек, которые хранятся в каталоге vendor/ и управляются с помощью Composer.

Частое обновление этих сторонних библиотек - хороший способ предотвратить появление багов и уязвимостей в системе безопасности. Выполните команду Composer ``update`, чтобы обновить всё сразу (это может занять несколько минут, в зависимости от сложности вашего проекта):

1
2
$ cd my_project_name/
$ composer update

Tip

В Symfony есть команда, с помощью которой можно проверить, есть ли у зависимостей проекта какие-либо уязвимости с точки зрения безопасности:

1
$ php bin/console security:check

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

Установка демо-версии Symfony или других сборок

Вы уже скачали Symfony Standard Edition: начальный проект по умолчанию, который используется для всех приложений Symfony. Вы будете использовать этот проект по всей документации для создания вашего приложения!

Symfony также предоставляет некоторые другие проекты и начальные сборки, которые вы можете использовать:

The Symfony Demo Application
Это полностью функциональное приложение, которое показывает рекомендуемый способ разработки приложений на Symfony. Это приложение было создано в качестве обучающего инструмента для новичков в Symfony, поэтому код приложения содержит много полезных комментариев и заметок.
The Symfony CMF Standard Edition
Symfony CMF - это проект, который облегчает разработчикам добавление функционала CMS к их приложениям Symfony. Это начальный проект, содержащий Symfony CMF.
The Symfony REST Edition
Эта версия показывает, как построить приложение, которое предоставляет RESTful API, используя FOSRestBundle и несколько других связанных с этим пакетов.

Установка существующего приложения Symfony

При совместной работе в приложении Symfony, редко создается новое приложение Symfony так, как это описано в предыдущих разделах. Вместо этого, кто-то другой уже создал и загрузил его на общее хранилище.

Рекомендуется не загружать некоторые файлы (parameters.yml) и папки (vendor/, кэш, логи) в хранилище кода, поэтому во время установки существующего приложения Symfony вам нужно будет сделать следующее:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# клонировать проект для скачивания его содержимого
$ cd projects/
$ git clone ...

# установить с помощью Composer зависимости проекта в папку vendor/
$ cd my_project_name/
$ composer install

# теперь Composer запросит у вас значения неопределённых параметров
$ ...

Продолжайте!

Теперь, когда установка и настройка позади, пора Создать вашу первую страницу в Symfony.

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.