由于旧服务器崩溃,我不得不将客户的网站迁移到新服务器上。
其中一个站点是基于一个非常旧的CakePHP版本。新服务器使用PHP 7。CakePhp网站已经停滞不前,使用了很多已经被淘汰的PHP特性(比如使用&作为参考标记)。
源代码标签似乎表明2008年左右。里面绝对没有和作曲家有关的东西
我对CakePHP的经验很少。事实上,我不确定网站特定的代码和数据在哪里。
我如何将这个网站更新为一个现代的CakePHP网站或至少在php7下工作的东西?
除了在框架中的每个文件中逐行编辑之外,我正在考虑的一种方法是创建一个全新的CakePHP站点并将站点特定的文件移动到该站点。但是,那么,我想知道在哪里或如何找到具体的网站文件?
如果有帮助,这里如果appwebrootindex.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
*/
作为尝试重写框架代码的替代方法,您可以从服务器的CGI-BIN中运行旧版本的PHP (http://php.net/releases/)。
注意这里存在一些安全隐患:http://php.net/manual/en/install.unix.commandline.php
这可以使网站运行,而您寻求适当的操作,即。完全重建站点,或者获得所需密集工作的适当补偿。
CakePHP,像大多数框架一样,将它的标准文件与站点特定的代码分开。花了我一点时间,但大多数网站的特定代码都会放在
app
目录。核心框架代码将驻留在其他目录
所以,像这样更新一个网站的过程是:
- 使用PHP composer创建新站点
- 根据需要配置
- 将文件从旧的app目录复制到新的app目录。不要盲目地复制,但要看看它是否安全,是否有冲突。如果冲突,根据需要解决
- Test, Fix, Test,…
在我的例子中,我仍然需要"现代化"app目录树中的许多代码。