Как обновить Symfony с 1.2.4 до 1.2.7 - PullRequest
0 голосов
/ 02 мая 2009

У меня есть приложение Symfony 1.2.4, взятое и измененное из приложения Symfony sandbox , не было предпринято никаких усилий, чтобы убедиться, что движок Symfony был отделен от моего приложения, поэтому теперь движок Symfony это просто папка внутри моего приложения.

Как лучше всего перейти с Symfony 1.2.4 на 1.2.7? Есть идеи?

Ответы [ 5 ]

1 голос
/ 13 мая 2009

Самый простой способ:

загрузите новую изолированную версию symfony, возьмите данные и библиотеки lib из этого архива и отправьте их в папку своего проекта (перезаписав существующие данные и папки lib) после этого очистите кэш своих проектов и пересоберите модель (а также формы и фильтры).

php symfony clear:cache
php symfony propel:build-all

или при использовании доктрины:

php symfony clear:cache
php symfony doctrine:build-all

это всегда будет работать для незначительных изменений (1.2.3 до 1.2.9 или 1.1.2 до 1.1.5). для обновлений с 1.0 до 1.1 или 1.2 или 1.3 у вас будут дополнительные шаги (подробные инструкции вы найдете в документации)

1 голос
/ 06 мая 2009

Я нашел решение.

Сначала нужно переместить платформу Symfony из приложения-песочницы, затем обновить платформу Symfony, используя PEAR, как , подробно описанное в этом посте .

0 голосов
/ 26 марта 2012

Это старый вопрос, но я решил добавить мысль. Ранее считалось, что рекомендуется использовать единый каталог для Symfony на сервере, так как можно обновить его и волшебным образом обновить все сайты на одном сервере. На практике это не так просто. Во-первых, при перемещении сайтов с одного сервера на другой потенциально необходимо восстановить символические ссылки или абсолютные пути к папкам библиотеки. Кроме того, как говорит @deresh, необходимо очищать кэш между обновлениями, что занимает много времени в нескольких проектах и ​​может привести к их отключению до тех пор, пока все они не будут завершены.

Итак, в итоге, в эти дни я встраиваю Symfony 1.x в любой проект Symfony, а не ссылаюсь на внешнее местоположение. Он привносит «известную хорошую версию» Symfony в систему управления версиями, упрощает развертывание, а обновление - это просто вопрос удаления lib/symfony и data/symfony в копии для разработки и замены их lib и data папок из нового тарбола. Они должны быть зафиксированы, и тогда проект можно будет легко развернуть на сервере - svn up и `./symfony cc ', если вы используете Subversion на сервере.

Как правило, вам не нужно перестраивать свои модели, если только вы не знаете, что версия вашего ORM изменилась между выпусками Symfony.

0 голосов
/ 17 июня 2009

Symfony 1.2 является стабильной версией, что это значит?

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

Как сказал Oncle Tom, если вы работаете над несколькими проектами Symfony, их будет проще обновить, если они совместно используют одну и ту же библиотеку Symfony.

Извлечение библиотеки Symfony из репозитория SVN:

daemon@dev:/home/dev/symfony$ svn co http://svn.symfony-project.com/branches/1.2

Отредактируйте ваш config / ProjectConfiguration.class.php:

#require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';
require_once '/home/dev/symfony/1.2/lib/autoload/sfCoreAutoload.class.php'; // use the shared lib instead
sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    // for compatibility / remove and enable only the plugins you want
    $this->enableAllPluginsExcept(array('sfPropelPlugin', 'sfCompat10Plugin'));
  }
}

Тогда все готово. Теперь вы используете общую и легко обновляемую библиотеку Symfony и обновили свой проект.

Для запуска новых проектов:

daemon @ dev: / home / dev / sfProjects $ php /home/dev/symfony/1.2/data/bin/symfony создать: проект Проект

0 голосов
/ 08 мая 2009

Вам также следует рассмотреть возможность использования SVN и / или установки Symfony в папке lib / vendor вашего проекта. Это сделает проект Symfony зависимым, что просто полезно в случае нескольких проектов Symfony на одном сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...