重新创建一个CakePHP 1.2项目以进行升级

时间:2018-10-22 23:14:23

标签: php nginx cakephp vagrant cakephp-1.3

我有一个基于CakePHP 1.2的网站(我知道.. 很古老),我只需要升级到支持PHP 7.1的最古老的Cake即可(我认为Cake大概是2.8,从到目前为止所见),因为我的主机正在将PHP全面升级到7.1。在完全替换它之前,该站点可能只需要再生存一年,但是在主机在年底升级PHP之前,我们没有时间这样做。

我正在尝试让网站原样在无所事事的VM中运行,因此我可以仔细地进行升级步骤,并确切地了解我需要做的事情。我现在的问题是我无法显示该网站。更具体地讲,当我尝试在无业游民中使用nginx加载网站时,除了空白屏幕外,我只得到了一些PHP警告(严格标准为Non-static method Configure::read() should not be called statically的效果),但是却一无所获显然是损坏。在PHP日志中基本上没有任何内容,在Nginx日志中也没有任何内容。同样,这是当前(成功)正在生产中运行的站点,这意味着我无所事事的PHP为5.6.38(实际生产的PHP为5.6.25)。使用php-fpm运行。

Cake自己的日志仅报告以下内容,这是在控制器方法function disableCache()内部产生的,该方法试图插入标头以防止浏览器缓存请求:

2018-10-22 15:18:57 Warning: Warning (2): Cannot modify header information - headers already sent by (output started at /usr/share/nginx/html/www.mydomain.com/cake/libs/object.php:63) in [CORE/cake/libs/controller/controller.php, line 844]

我已经在该方法中插入了一个早期返回值,只是为了停止这些警告。

在PHP中,我具有以下设置:

error_reporting(E_ALL^E_DEPRECATED);
ini_set('display_errors', 1);
ini_set('error_log', '/var/log/php_errors.log');

在Cake 1.2的app/config/core.php中,我得到了:

Configure::write('debug', 3);

数据库是无所事事的本地MySQL,其设置在app/config/database.yml中。

有人可以建议我下一步应该去调试吗?

2 个答案:

答案 0 :(得分:0)

根据我的经验,PHP 7.1CakePHP 1.2可以一起工作。您只需要升级源代码即可使其与PHP 7.1兼容,但是您可以继续在CakePHP 1.2中使用系统,而不必升级CakePHP。当然,如果您可以使用更新完善的CakePHP版本,但可以将其视为一个单独的项目,而不必将其视为一个单独的项目,那么您现在就必须这样做,因为您的主机正在将PHP全面升级到7.1

答案 1 :(得分:0)

如果您可以将Cake项目升级到import re content = "The number of qualified individuals is 13553, company is 2500, The actual number of individuals joined is 7187,company is 1722." match_first = re.search("The actual.*\d\\b", content).group() print(match_first) match_content = re.search("(?<=company\sis\s)+\d+", match_first).group() print(match_content) (最新的1.3.21版本),则可以使用以下命令:https://github.com/littleant/cakephp-1.3.21而不是升级到Cake2.x。可能会给您一点时间!