Я загружаю исходные файлы Symfony в отдельное хранилище с управлением версиями через github.com, называемое vendor. Затем я ставлю символическую ссылку на версию symfony, которую я хочу использовать, из моего репо «app» (отдельно от поставщика). Это позволяет мне легко переключаться на другую версию Symfony и позволяет мне публиковать файлы Symfony без необходимости публиковать мои настоящие файлы приложения.
Что-то вроде:
# Path to your files
$ -> cd /home/src/web/app/projectname/current
$ -> ls -la
framework -> vendor/framework/symfony/1.4.16
vendor -> /home/src/web/vendor/current/
Затем в файле ProjectConfiguration.class.php вам просто нужно указать автозагрузчику символическую ссылку, которую вы только что создали:
<?php
require_once realpath(dirname(__FILE__)) . '/../../framework/lib/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();
Теперь, если выпущена новая версия symfony, вы можете скачать исходные файлы, добавить их в репозиторий вашего поставщика, затем перейти в репозиторий вашего приложения и изменить символическую ссылку, чтобы она указывала на новую версию. Когда вы переходите к производству, вы продвигаете репо поставщика и репо приложения, или вы можете продвигать репо продавца отдельно.
Если вы предпочитаете не управлять версиями, вы можете вручную загрузить исходные файлы Symfony на рабочий сервер и все же следовать этой настройке. Кроме того, я обычно поддерживаю 3 версии Symfony на случай, если мне понадобится вернуться к более старой версии.