Установка этого фреймворка достаточно проста, тем более, если вы используете пакетный менеджер Composer
Идем на официальный сайт фреймворка и видим два варинта установки:
- Как компонент для уже имеющийся системы
- Как скелетон приложение
Нас интересует второй вариант, так как мы будем создавать новое приложение на базе Silex. Выполняем в консоле команду:
$ composer create-project fabpot/silex-skeleton path/to/install "^2.0"
И вуаля — приложение установилось. Теперь давайте настроим наш сервер. Идем в гугл и находим базовый конфиг для apache2
<VirtualHost *:80> ServerName silex.loc ServerAlias silex.loc DocumentRoot /var/www/silex.loc/web # путь к папке с установленным проектом DirectoryIndex index_dev.php # поскольку мы работаем на локальной машине, то лучше использовать этот файл для старта приложения <Directory "/var/www/silex.loc/web"> AllowOverride All Allow from All </Directory> </VirtualHost>
Прописываем локальный домен в файле /etc/hosts — у меня это, как видно из настроек сервера — http://silex.loc/. Далее перезапускаем apache, кто запамятовал команду:
$ sudo service apache2 restart
Теперь идем проверять работу фреймворка в веб-браузер, но тут нас ожидает первый факап:
Это странно, ведь при установке никаких ошибок не было. Оказывается была одна неточность, а именно, когда мы установили фреймворк через Composer, его файл, который хранит все зависимости оказался не полным! Чтобы это исправить, добавим нужный пакет. В корне проекта выполняем в консоле команду:
$ composer require symfony/service-contracts
Теперь идем снова в браузер и снова неудача:
Ну здесь все просто, у фреймворка есть папка, куда он пишет логи и складывает кеш файлов и как раз у него нет прав это делать. Для этого нам надо установить рекурсивно нужные права на папку (локально мы установим полные права) командой:
$ sudo chmod 777 -R var/
Обновляем браузер и вуаля!
Welcome to your new Silex Application!
На этом установка завершена и можно приступать к следующему шагу.