Symfony Framework Настройка локального сервера XAMPP создание проекта tutorial2

returnt

13.10.2014

startSymfony

startSymfonyСначала убедитесь, что вы установили и настроили веб-сервер (например, Apache) с PHP. Для получения дополнительной информации о требованиях Symfony .

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

Начните с посещения страницу загрузки Symfony . На этой странице вы увидите Symfony Standard Edition , который является главным распределительным Symfony. Есть 2 способа получить ваш проект начал:

Вариант 1) Композитор

Композитор является библиотекой управление зависимостями для PHP, который можно использовать для загрузки Symfony Standard Edition.

Начните с загрузки Composer в любом месте на вашем локальном компьютере. Если вы локон установлен, это так же просто, как:

1
$ curl -s https://getcomposer.org/installer | php

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

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

1
$ php composer.phar create-project symfony/framework-standard-edition /path/to/webroot/Symfony '2.5.*'

Чтобы скачать файлы с поставщиками быстрее, добавьте --prefer-расстояниевариант в конце любой команды Композитор.

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
path/to/webroot/ <- your web server directory 
(sometimes named htdocs or public)
    Symfony/ <- the new directory
        app/
            cache/
            config/
            logs/
        src/
            ...
        vendor/
            ...
        web/
            app.php
            ...
поставщик / ... веб / app.php ...

Вариант 2) скачать архив

Вы также можете скачать архив с Standard Edition. Здесь Вы должны будете сделать два варианта:

  • Скачать либо .tgz или ZIP- архив — как эквивалентны, скачать все, что вы более комфортно, используя;
  • Скачать дистрибутив с или без продавцов. Если вы планируете использовать больше сторонних библиотек или пучки и управления ими с помощью Composer, вы, вероятно, следует скачать «без продавцов».

Скачать один из архивов где в корневой папке на локальном веб-сервера и распаковать его.Из командной строки UNIX, это может быть сделано с одной из следующих команд (замена ###с вашего фактического имени файла):

1
2
3
4
5
# for .tgz file
$ tar zxvf Symfony_Standard_Vendors_2.5.###.tgz

# for a .zip file
$ unzip Symfony_Standard_Vendors_2.5.###.zip

Если вы скачали «без продавцов», вы определенно будете должны прочитать следующий раздел.

Вы можете легко переопределить структуры каталогов. Смотреть Переопределение структуры каталогов по умолчанию Symfony в для получения дополнительной информации.

Все общедоступные файлы и фронт-контроллер, который обрабатывает входящие запросы в приложении Symfony жить в / веб / Symfony каталоге. Так, предполагается, что вы распаковали архив в, URL вашего приложения начнется веб-сервера или корень документа виртуального хоста с HTTP: http://localhost/Symfony/web/ .

Следующие примеры предполагают, что Вы не трогать документ настройки корневые так все адреса начинаются с http://localhost/Symfony/web/

 

Обновление Продавцы

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

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

Шаг 1: Получить Composer (Великий системы новый PHP упаковка)

1
$ curl -s http://getcomposer.org/installer | php

Убедитесь, что вы скачать composer.phar в той же папке, где composer.json находится файл (это корневой проект Symfony по умолчанию).

Шаг 2: Установка поставщиков

1
$ php composer.phar install

Эта команда загружает все необходимые библиотеки поставщиков — включая самого Symfony — в поставщика / каталога.

Если у вас нет локон установлен, вы также можете просто скачать установочный файл вручную. Поместите этот файл в ваш проект, а затем запустить:

1
2
$ php installer
$ php composer.phar install

При запуске PHP composer.phar установки или PHP обновления composer.phar , композитор исполнит сообщение установить / обновление команды, чтобы очистить кэш и установить активов. По умолчанию, активы будут скопированы в ваш веб- каталог.

Вместо того чтобы копировать ваши активы Symfony, вы можете создать символические ссылки, если ваша операционная система поддерживает его. Чтобы создать символические ссылки, добавить запись в дополнительной узла вашего composer.json файл с ключевыми фреймворка-активов установке и значениесимволической ссылкой :

"extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web",
    "symfony-assets-install": "symlink"
}

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

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

На данный момент, все необходимые сторонних библиотек в настоящее время живут впоставщика / каталога. У вас также есть настройки приложения по умолчанию в приложение / и некоторые примеры кода внутри SRC / каталог.

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

1
http://localhost/config.php

Если есть вопросы, исправить их сейчас, прежде чем перейти.

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

1 Использование ACL на системе, которая поддерживает CHMOD + а

Многие системы позволяют использовать CHMOD + в команду. Попробуйте это первый, и если вы получите сообщение об ошибке — попробуйте следующий способ. Это использует команду, чтобы попытаться определить ваш веб-сервер пользователя и установить его в качестве HTTPDUSER :

1
2
3
4
5
6
$ rm -rf app/cache/*
$ rm -rf app/logs/*

$ HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|
[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1`
$ sudo chmod +a "$HTTPDUSER allow delete,write,append,
file_inherit,directory_inherit" app/cache app/logs
$ sudo chmod +a "`whoami` allow delete,write,append,
file_inherit,directory_inherit" app/cache app/logs

2 Использование ACL на системе, которая не поддерживает CHMOD + а

Некоторые системы не поддерживают CHMOD + , но поддерживают другую утилиту под названием setfacl . Возможно, вам придется включить поддержку ACL на вашем раздела и установить setfacl перед использованием (как в случае с Ubuntu).Это использует команду, чтобы попытаться определить ваш веб-сервер пользователя и установить его в качестве HTTPDUSER :

1
2
3
$ HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|
[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1`
$ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:
rwX app/cache app/logs
$ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:
rwX app/cache app/logs

Если это не работает, попробуйте добавить -n вариант.

3 Без использования ACL

Если у вас нет доступа к изменению ACL из каталогов, вам нужно будет изменить UMASK так, что кэш и войти каталоги будут группа-записи или запись всем (в зависимости, если пользователь веб-сервера, а пользователь командной строки находятся в той же группе или нет). Для достижения этой цели, поместите следующую строку в начале приложение pp/console, web/app.php and web/app_dev.php files:

1
2
3
4
5
umask(0002); // This will let the permissions be 0775

// or

umask(0000); // This will let the permissions be 0777

Обратите внимание, что с помощью ACL рекомендуется, когда у вас доступ к ним на вашем сервере, потому что изменения UMASK не является поточно-безопасным.

4 Используйте тот же пользователь для CLI и веб-сервером

В средах разработки, это обычная практика, чтобы использовать тот же пользователь Unix для CLI и веб-сервером, поскольку позволяет избежать любой из этих вопросов, разрешений при настройке новых проектов. Это может быть сделано путем редактирования конфигурации веб-сервера (например, обычно httpd.conf или apache2.conf для Apache) и установив его пользователю такой же, как ваш пользователь CLI (например, для Apache, обновления пользователя и значения Group).

Когда все нормально, нажмите «Перейти к странице приветствия» просить свой первый «настоящий» Symfony сайт:

1
http://localhost/app_dev.php/

Symfony должны приветствовать и поздравить вас за ваш тяжелый труд до сих пор!

Download Symfony-2.5.5

Denwer3

Openserver

XAMPP для Windows 1.8.2

Composer

Материалы получены с официального сайта Symfony