Возможно ли знать версию CakePHP, используемую для создания проекта, только доступный код приложения?
Моя проблема:
Я загрузил проект, сделанный CakePHP, и я действительно не могу сказать, какую версию Cake использовать. Файлы говорят, например, @version $Revision: 8004 $
, но в некоторых файлах это отличается. Должен ли я предположить, что самая высокая версия (8004) является правильной для использования?
Кажется, это примерно с 2008 года, поэтому я предполагаю, что это версия 1.x.
PD: Вот код проекта.
Я обнаружил, что версия, начиная с CakePHP 2.3.0, хранится в статическом файле под root Cake lib.
bash #: cat $CAKE_ROOT/lib/Cake/VERSION.txt //////////////////////////////////////////////////////////////////////////////////////////////////// // +--------------------------------------------------------------------------------------------+ // // CakePHP Version // // Holds a static string representing the current version of CakePHP // // CakePHP(tm) : Rapid Development Framework (http://cakephp.org) // Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) // // Licensed under The MIT License // Redistributions of files must retain the above copyright notice. // // @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) // @link http://cakephp.org // @package cake.libs // @since CakePHP(tm) v 0.2.9 // @license MIT License (http://www.opensource.org/licenses/mit-license.php) // +--------------------------------------------------------------------------------------------+ // //////////////////////////////////////////////////////////////////////////////////////////////////// 2.3.0
Отредактируйте core.php, добавьте сверху:
echo Configure::version();
Для cakephp 3.x find \ vendor \ cakephp \ cakephp \ VERSION.txt
//////////////////////////////////////////////////////////////////////////////////////////////////// // +--------------------------------------------------------------------------------------------+ // // CakePHP Version // // Holds a static string representing the current version of CakePHP // // CakePHP(tm) : Rapid Development Framework (http://cakephp.org) // Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) // // Licensed under The MIT License // Redistributions of files must retain the above copyright notice. // // @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) // @link http://cakephp.org // @since CakePHP(tm) v 0.2.9 // @license http://www.opensource.org/licenses/mit-license.php MIT License // +--------------------------------------------------------------------------------------------+ // //////////////////////////////////////////////////////////////////////////////////////////////////// 3.3.2
мы можем проверить следующий путь
Path = корень / Lib / торт / VERSION.TXT
Открыть файл версии.txt
последняя строка показывает версию cakephp
Я уверен, что это для ветки CakePHP 1.2.x, а не для ветки CakePHP 1.3.x.
Здесь вы можете скачать ветку 1.2.x.
Причина, по которой я думаю, что это 1.2, состоит в том, что все заголовки комментариев принадлежат Copyright 2005-2008
, и только этот диапазон 1.2.x использует этот диапазон дат. Все в ветви 1.3.x – это Copyright 2005-2010
или новее.
Простой способ: просто найдите файл VERSION.txt . Откройте его, чтобы проверить версию.
Путь для версии.txt
Для торта 1. * : торт / VERSION.txt
Для cakephp 2. * : lib / Cake / VERSION.txt
Для cakephp 3. * : vendor / cakephp / cakephp / VERSION.txt
Это похоже на невозможное (без прохождения всех изменений версии, проверки структуры файлов / папок, комментариев … и т. Д.).
И, это по уважительной причине ИМО.
Когда я запускаю приложение, я создаю его в последней версии. Но, даже к тому времени, когда он станет общедоступным, я обычно нахожусь в новом выпуске CakePHP и буду продолжать обновлять его, когда они выйдут. Мои файлы APP не меняются вообще (кроме запрошенных изменений в примечаниях к выпуску – если есть). Изменяется только каталог cakephp / lib (и, к сожалению, у вас его нет).
Если вам повезет, а предыдущий разработчик сохранит версии Cake в отдельных папках вместо перезаписи, вы можете найти номер версии в своем webroot/index.php
в строке CAKE_CORE_INCLUDE_PATH
, но в вашем случае ее там нет.
Если у вас есть фактические файлы Cake (я знаю, что вы этого не делаете, но другие люди могут), то вы можете посмотреть в файле cake/VERSION.txt
для используемой версии.
На странице приветствия версия написана, нам не нужна какая-либо команда для проверки версии. Если все-таки это проблема, вы как-то не найдете страницу с положительным результатом. вы можете использовать
echo Configure::version();
Также для консоли Linux вы можете проверить версию CakePHP следующим образом.
Измените example.com своим доменным именем.
# grep ^[^\/] /var/www/vhosts/example.com/httpdocs/lib/Cake/VERSION.txt
в торте 3.0 из корневого каталога приложения >>> cat vendor / cakephp / cakephp / VERSION.txt
Для Cakephp3 откройте командную строку и перейдите в каталог Project App и введите bin/cake
, он покажет вам что-то вроде этого *
Добро пожаловать в CakePHP v3.3.5 Console
Какова ваша текущая версия cakephp.
Это лучший способ получить его во время выполнения
Configure::version()
Документы 3.x
2.x docs
Другой способ – найти VERSION.txt
2.x lib / Cake / VERSION.txt
3.x vendor / cakephp / cakephp / VERSION.txt