Symfony — это веб-фреймворк, созданный на PHP, который предлагает набор компонентов для повторного использования. Последней версией является Symfony 3, которая включает 30 независимых компонентов, доступных для ваших приложений.
Данный учебник поможет вам установить PHP фреймворк Symfony 3 на операционных системах CentOS, Red Hat и Fedora.
Перед началом установки убедитесь, что у вас установлены следующие зависимости:
- PHP версии 5.5.9 или выше.
- Composer — менеджер зависимостей для PHP.
- Расширения PHP:
mbstring,xml,curl,json,gd.
Для установки необходимых зависимостей выполните следующие команды:
sudo yum install php php-mbstring php-xml php-curl php-json php-gd
После установки PHP, необходимо установить Composer. Для этого выполните следующие команды:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Теперь, когда все зависимости установлены, вы можете создать новый проект Symfony. Для этого выполните следующую команду:
composer create-project symfony/framework-standard-edition имя_проекта "3.4.*"
После завершения установки перейдите в каталог вашего проекта:
cd имя_проекта
Запустите встроенный сервер Symfony для тестирования приложения:
php bin/console server:run
Теперь вы можете открыть ваш браузер и перейти по адресу http://localhost:8000, чтобы увидеть страницу приветствия Symfony.
Поздравляем! Вы успешно установили фреймворк Symfony 3 на ваш сервер. Теперь вы можете начать разрабатывать свои веб-приложения, используя мощные возможности, которые предоставляет этот фреймворк.
Дополнительные шаги:
- Настройка виртуального хоста: Рекомендуется настроить виртуальный хост, чтобы избежать необходимости использовать встроенный сервер для разработки. Для этого создайте файл конфигурации в
/etc/httpd/conf.d/для Apache или в/etc/nginx/conf.d/для Nginx. - Установка дополнительных пакетов: Возможно, вам также потребуется установить другие пакеты, такие как
php-intlдля работы с интернационализацией. - Использование базы данных: Symfony часто используется с базами данных. Вы можете установить
mysqlилиpgsql, в зависимости от ваших потребностей, и настроить соединение в файлеapp/config/parameters.yml. - Обновление Composer: Не забывайте обновлять Composer и зависимости проекта, используя команду
composer update.
Следуя этим рекомендациям, вы сможете улучшить вашу среду разработки и сделать её более продуктивной.
Содержание статьи
Настройка Yum-репозиториев
Сначала необходимо добавить RPM-репозитории REMI и EPEL в вашу систему. Эти репозитории содержат актуализированные пакеты. Выберите одну из следующих команд в зависимости от версии вашей операционной системы и архитектуры.
Перед установкой убедитесь, что ваша система обновлена. Для этого выполните команду:
yum update
Также стоит проверить, установлен ли у вас пакет yum-utils, который облегчает управление репозиториями:
yum install yum-utils
Если вы хотите использовать конкретные версии пакетов из репозитория REMI, вы можете управлять версиями с помощью опции --enablerepo. Например:
yum --enablerepo=remi-php74 install php
Для отключения репозитория на время установки, используйте --disablerepo:
yum --disablerepo=remi install пакет
Не забудьте, что для работы с EPEL и REMI необходимо наличие включенного репозитория base, иначе некоторые зависимости могут не быть найдены.
CentOS/RHEL 7, 64-битная версия:
rpm -Uvh http://free.nchc.org.tw/fedora-epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
CentOS/RHEL 6, 64/32-битная система:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
CentOS/RHEL 5, 64/32-битная версия:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
После добавления репозиториев, не забудьте обновить кэш пакетов:
yum clean all
yum makecache
Это поможет избежать проблем с доступностью пакетов из новых репозиториев.
Установка Apache, MySQL и PHP
Для установки Symfony 3 необходимо подготовить работающий LAMP-сервер. Если ваш LAMP-стек уже настроен, этот шаг можно пропустить; в противном случае выполните указанные команды для его настройки.
# yum --enablerepo=remi,epel install httpd
# yum --enablerepo=remi,epel install mysql-server # service mysqld start # /usr/bin/mysql_secure_installation
# yum --enablerepo=remi,epel install php php-mysql php-intl # service httpd restart
После установки Apache, MySQL и PHP, убедитесь, что все компоненты работают корректно. Для этого вы можете создать тестовый файл PHP в директории веб-сервера:
echo "" > /var/www/html/info.php
Затем откройте в браузере адрес http://ваш_сервер/info.php. Вы должны увидеть страницу с информацией о версии PHP и установленном модуле.
Также рекомендуется установить дополнительные модули для работы с Symfony, такие как php-xml и php-mbstring. Это можно сделать следующими командами:
# yum --enablerepo=remi,epel install php-xml php-mbstring
Не забудьте перезапустить Apache после установки новых модулей:
# service httpd restart
Теперь ваш LAMP-сервер готов к установке Symfony Убедитесь, что ваш сервер обновлен, используя команду:
# yum update
Настройка Symfony установщика
Symfony предоставляет свой собственный установщик для создания новых проектов. Вот команды, которые помогут установить Symfony установщик на вашем компьютере.
# curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony # chmod a+x /usr/local/bin/symfony
После установки вы можете создать новый проект с помощью команды:
# symfony new my_project_name
Также убедитесь, что у вас установлены необходимые зависимости, такие как PHP и Composer. Для проверки версии Symfony используйте:
# symfony -v
Это поможет вам убедиться, что установщик корректно работает и вы можете начать разработку.
Создание нового приложения на Symfony 3
После успешной установки Symfony давайте создадим новое приложение. Перейдите в корневую директорию ваших веб-документов и создайте новое приложение Symfony.
# cd /var/www/html # symfony new myproj
Теперь зайдите в созданный каталог и проверьте, все ли системные требования выполнены. Если все корректно, вы увидите следующий результат.
# php myproj/bin/symfony_requirements [OK] Ваша система готова для запуска проектов Symfony 3
После этого рекомендуется установить необходимые зависимости, которые могут понадобиться для вашего приложения. Для этого перейдите в каталог проекта и выполните команду:
# cd myproj # composer install
Это установит все зависимости, указанные в файле composer.json, и обеспечит корректную работу вашего приложения.
Также, для разработки на Symfony, рекомендуется включить режим отладки. Это можно сделать, настроив файл .env в корне вашего проекта, установив параметр APP_ENV=dev. Это позволит вам видеть более детальные сообщения об ошибках и логи.
Теперь ваше приложение готово к разработке! Вы можете запустить встроенный сервер Symfony для локальной разработки:
# php bin/console server:run
Перейдите в браузер и введите http://localhost:8000, чтобы увидеть страницу приветствия Symfony. Удачи в разработке!
Для улучшения разработки, рассмотрите возможность установки дополнительных пакетов, таких как symfony/debug-bundle для отладки и symfony/twig-bundle для работы с шаблонами. Это позволит вам использовать мощные инструменты для более удобной работы.
Также не забывайте о системе управления версиями, такой как Git. Создайте репозиторий в вашем проекте:
# git init
Это позволит вам отслеживать изменения и работать с командой.
Не забудьте ознакомиться с документацией Symfony, где вы найдете много полезной информации и примеров использования различных компонентов. Это поможет вам быстрее освоить фреймворк и решить возникающие задачи.
Запуск приложения в режиме разработки
Теперь начните разрабатывать с помощью PHP-фреймворка Symfony 3 и создавайте замечательные приложения. Чтобы увидеть изменения в браузере, запустите веб-сервер разработки Symfony с помощью следующей команды. По умолчанию веб-сервер будет работать на порту 8000.
# php bin/console server:run [OK] Сервер работает на http://127.0.0.1:8000 // Для выхода из сервера нажмите CONTROL-C.
Теперь вы можете получить доступ к новому приложению Symfony 3 через ваш браузер, посетив адрес http://127.0.0.1:8000 или http://localhost:8000.
Также стоит помнить, что в режиме разработки Symfony предоставляет множество инструментов для отладки. Вы можете использовать панель профилирования, которая позволяет отслеживать производительность и выявлять узкие места в вашем приложении. Чтобы включить панель, убедитесь, что у вас установлен пакет symfony/web-profiler-bundle.
Не забудьте, что при разработке стоит использовать dev окружение, которое предоставляет дополнительные инструменты и улучшения по сравнению с prod окружением. Для запуска сервера в режиме разработки используйте следующую команду:
# php bin/console server:run --env=dev
Это обеспечит оптимальные настройки для разработки и поможет вам быстрее находить и исправлять ошибки.

Создание виртуального хоста Apache
Чтобы настроить Symfony 3 с использованием подсайта, создайте новый конфигурационный файл Apache в папке /etc/httpd/conf.d/ и добавьте Virtual Host для вашего приложения Symfony 3.
# vim /etc/httpd/conf.d/symfony3.example.com.conf
Создайте каталог и добавьте в него следующее содержимое.
ServerName symfony3.example.com
DocumentRoot /var/www/html/myproj/web
AllowOverride All
Order Allow,Deny
Allow from all
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
ErrorLog /var/log/httpd/myproj_error.log
CustomLog /var/log/httpd/myproj_access.log combined
После внесения всех изменений перезапустите сервер Apache, чтобы они вступили в силу.
# service httpd restart
Далее добавьте запись в файл hosts, чтобы иметь возможность получить доступ к новому приложению Symfony 3 в вашем браузере по указанному доменному имени, например, http://symfony3.example.com. Измените symfony2.example.com и 127.0.0.1 в соответствии с вашей конфигурацией.
# echo "127.0.0.1 symfony3.example.com" >> /etc/hosts

Кликните здесь, чтобы получить дополнительную информацию о фреймворке Symfony.
Не забудьте установить необходимые модули Apache для работы с URL-переписываниями и настроить права доступа к директории вашего проекта. Это особенно важно для обеспечения безопасности вашего приложения и правильного функционирования всех его компонентов.
Также рекомендуется использовать HTTPS для повышения безопасности вашего приложения. Для этого вам потребуется получить SSL-сертификат и внести соответствующие изменения в конфигурацию виртуального хоста. Например, добавьте следующий блок в ваш конфигурационный файл:
ServerName symfony3.example.com
DocumentRoot /var/www/html/myproj/web
SSLEngine on
SSLCertificateFile /path/to/your/certificate.crt
SSLCertificateKeyFile /path/to/your/private.key
AllowOverride All
Order Allow,Deny
Allow from all
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
ErrorLog /var/log/httpd/myproj_ssl_error.log
CustomLog /var/log/httpd/myproj_ssl_access.log combined
Если вы планируете развертывание на продакшн-сервере,

