升级非常旧的CakePHP站点
由于旧服务器崩溃,我不得不将客户端的网站迁移到新服务器上 其中一个站点基于一个非常旧的CakePHP版本。新服务器使用PHP7。CakePhp站点已经死在水中了,它使用了很多已经被淘汰的PHP特性(例如使用&作为参考标记) 源代码标签似乎表明2008年左右。这里面绝对没有和作曲家有关的东西 我对CakePHP的经验很少。事实上,我不确定特定于站点的代码和数据会在哪里 如何将此站点更新为现代CakePHP站点或至少是在PHP7下工作的站点? 除了在框架中的几乎每个文件中逐行编辑之外,我正在考虑的一种方法是创建一个全新的CakePHP站点,并将特定于站点的文件移到该站点。但是,那么,我想知道在哪里或如何找到特定于站点的文件 如果有帮助,如果app\webroot\index.php的文件头:升级非常旧的CakePHP站点,php,cakephp,composer-php,Php,Cakephp,Composer Php,由于旧服务器崩溃,我不得不将客户端的网站迁移到新服务器上 其中一个站点基于一个非常旧的CakePHP版本。新服务器使用PHP7。CakePhp站点已经死在水中了,它使用了很多已经被淘汰的PHP特性(例如使用&作为参考标记) 源代码标签似乎表明2008年左右。这里面绝对没有和作曲家有关的东西 我对CakePHP的经验很少。事实上,我不确定特定于站点的代码和数据会在哪里 如何将此站点更新为现代CakePHP站点或至少是在PHP7下工作的站点? 除了在框架中的几乎每个文件中逐行编辑之外,我正在考虑的一
/* SVN FILE: $Id: index.php 7296 2008-06-27 09:09:03Z gwoo $ */
/**
* Short description for file.
*
* Long description for file
*
* PHP versions 4 and 5
*
* CakePHP(tm) : Rapid Development Framework <http://www.cakephp.org/>
* Copyright 2005-2008, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright 2005-2008, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
* @package cake
* @subpackage cake.app.webroot
* @since CakePHP(tm) v 0.2.9
* @version $Revision: 7296 $
* @modifiedby $LastChangedBy: gwoo $
* @lastmodified $Date: 2008-06-27 02:09:03 -0700 (Fri, 27 Jun 2008) $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/*SVN文件:$Id:index.php 7296 2008-06-27 09:09:03Z gwoo$*/
/**
*文件的简短描述。
*
*文件的长描述
*
*PHP版本4和5
*
*CakePHP(tm):快速开发框架
*版权所有2005年至2008年,蛋糕软件基金会,Inc.
*撒哈拉大道东1785号,490-204室
*内华达州拉斯维加斯89104
*
*根据麻省理工学院许可证获得许可
*文件的重新分发必须保留上述版权声明。
*
*@filesource
*2005版权所有,蛋糕软件基金会。
*@linkhttp://www.cakefoundation.org/projects/info/cakephp CakePHP(tm)项目
*@包装蛋糕
*@subpackage cake.app.webroot
*@CakePHP(tm)v 0.2.9
*@version$Revision:7296$
*@modifiedby$LastChangedBy:gwoo$
*@lastmodified$日期:2008-06-27 02:09:03-0700(2008年6月27日星期五)$
*@许可证http://www.opensource.org/licenses/mit-license.php 麻省理工学院执照
*/
作为尝试重新编写框架代码的替代方法,您可以从服务器的CGI-BIN运行旧版本的PHP(),只用于此站点
请注意,存在一些安全隐患:
这可以在您寻求适当操作的同时使站点运行,即完全重建站点,或获得所需密集工作的适当补偿。CakePHP与大多数框架一样,将其标准文件与站点特定代码分开。花了我一点时间,但是大多数特定于站点的代码都会放在
\app
目录。核心框架代码将驻留在其他目录中
因此,像这样更新站点的过程是:
在我的例子中,我仍然需要对\app目录树中的许多代码进行“现代化”。您可以通过一个文件一个文件地浏览并重写所需的内容来更新它。没有魔杖可以帮你。最理想的方法是进行单元测试,以确认重写工作符合预期。这是我开始使用并仍在使用的方法。但就像我在写整个框架一样。似乎每个文件/如果有更简单的方法,我完全赞成。我建议采取该网站的目标,并使用CakePHP 3重写它。更新旧版本的CakePHP毫无意义。这确实是一个临时解决方案。但这可能是最后的选择,因为服务器上还有其他站点,我宁愿避免安全问题。看起来您应该可以在此处找到cake版本:/path/to/cake/lib/cake/version.txt然后您可以使用此处的文档,稍微自动化一点过程:谢谢您的努力。提供的链接在我的情况下不起作用,因为这个版本对于控制台方法来说太旧了。我已经让这个网站开始运作了。