我有一个基于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
中。
有人可以建议我下一步应该去调试吗?
答案 0 :(得分:0)
根据我的经验,PHP 7.1
和CakePHP 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。可能会给您一点时间!