Установка микро-фреймворка Silex под Apache2

Установка этого фреймворка достаточно проста, тем более, если вы используете пакетный менеджер Composer

Идем на официальный сайт фреймворка и видим два варинта установки:

  1. Как компонент для уже имеющийся системы
  2. Как скелетон приложение

Нас интересует второй вариант, так как мы будем создавать новое приложение на базе Silex. Выполняем в консоле команду:

И вуаля — приложение установилось. Теперь давайте настроим наш сервер. Идем в гугл и находим базовый конфиг для apache2

Прописываем локальный домен в файле /etc/hosts — у меня это, как видно из настроек сервера — http://silex.loc/. Далее перезапускаем apache, кто запамятовал команду:

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

Attempted to load interface "ResetInterface" from namespace "Symfony\Contracts\Service"
Silex ClassNotFoundException

Это странно, ведь при установке никаких ошибок не было. Оказывается была одна неточность, а именно, когда мы установили фреймворк через Composer, его файл, который хранит все зависимости оказался не полным! Чтобы это исправить, добавим нужный пакет. В корне проекта выполняем в консоле команду:

Теперь идем снова в браузер и снова неудача:

Silex: Unable to create the storage directory
Silex RuntimeException

Ну здесь все просто, у фреймворка есть папка, куда он пишет логи и складывает кеш файлов и как раз у него нет прав это делать. Для этого нам надо установить рекурсивно нужные права на папку (локально мы установим полные права) командой:

Обновляем браузер и вуаля!

Welcome to your new Silex Application!

На этом установка завершена и можно приступать к следующему шагу.