升级真正老的CakePHP网站

时间:2016-10-30 08:13:56

标签: php cakephp composer-php

由于旧服务器崩溃,我不得不将客户端的网站迁移到新服务器。

其中一个网站基于一个非常旧版本的CakePHP。新服务器使用的是PHP 7. CakePhp网站已经淘汰,使用了许多已逐步淘汰的PHP功能(例如使用&作为参考标记)。

源代码标签似乎表明在2008年左右。那里绝对没有任何与作曲家有关的东西。

我对CakePHP的经验很少。实际上,我不确定网站特定代码和数据的位置。

如何将此站点更新为现代CakePHP站点或至少在PHP 7下运行?

除了在框架中的几乎每个文件中逐行编辑之外,我想到的一种方法是创建一个全新的CakePHP站点并将特定于站点的文件移动到该站点。但是,那么,我想知道在哪里或如何找到特定于站点的文件?

如果有帮助,这里是app \ webroot \ index.php的文件头:

/* 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
 */

2 个答案:

答案 0 :(得分:1)

作为尝试重写框架代码的替代方法,您可以从服务器的CGI-BIN运行旧版本的PHP(http://php.net/releases/),仅用于此站点。

请注意,存在一些安全隐患:http://php.net/manual/en/install.unix.commandline.php

当您寻求适当的操作时,这可能会使网站运行,即。完全重建网站,或为所需的密集工作获得适当补偿。

答案 1 :(得分:0)

与大多数框架一样,CakePHP使其标准文件大多与网站特定代码分开。我花了一点时间,但大多数网站特定的代码都会放在

\app

目录。核心框架代码将驻留在其他目录

因此,更新这样的网站的过程将是:

  1. 使用PHP编辑器创建新网站
  2. 根据需要进行配置
  3. 将文件从旧\ app目录复制到新\ app目录。不要盲目地复制,但看看它是否安全并且没有冲突。如果发生冲突,请根据需要解决
  4. 测试,修复,测试......
  5. 在我的情况下,我仍然需要现代化&#39; \ app目录树中有很多代码。