Воссоздание проекта CakePHP 1.2 для обновления - PullRequest
0 голосов
/ 23 октября 2018

У меня есть веб-сайт на основе CakePHP 1.2 (я знаю .. слишком древний), который мне нужно обновить только до самого старого Cake с поддержкой PHP 7.1 (я думаю, что примерно Cake 2.8из того, что я видел до сих пор), потому что мой хост обновляет PHP до 7.1 по всем направлениям.Этот сайт должен прожить, может быть, еще 1 год, прежде чем мы полностью заменим его, но у нас нет времени сделать это, пока хост не обновит PHP в конце года.

Я пытаюсь получить веб-сайт как есть , работающий в бродячей виртуальной машине, поэтому я могу тщательно пройти через этапы обновления и точно понять, что мне нужно делать.Моя проблема в том, что я не могу отобразить сайт.Более конкретно, когда я пытаюсь загрузить сайт с помощью nginx в vagrant, я получаю только пустой экран с несколькими предупреждениями 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'sapp/config/core.php, у меня есть:

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

База данных - локальный MySQL в vagrant, с настройками в app/config/database.yml.

Может кто-нибудь подсказать, куда мне идти дальше в отладке этого?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Если вы можете обновить свой проект Cake до 1.3.21 (последний 1.x релиз), вы можете использовать это: https://github.com/littleant/cakephp-1.3.21 вместо обновления до Cake 2.x.Может выиграть немного времени!

0 голосов
/ 07 ноября 2018

Исходя из собственного опыта, PHP 7.1 и CakePHP 1.2 могут работать вместе.Вам просто нужно обновить исходный код, чтобы сделать его совместимым с PHP 7.1, но вы можете продолжать использовать свою систему в CakePHP 1.2, не обновляя CakePHP.Конечно, если вы можете использовать более новую или последнюю версию CakePHP, это было бы идеально, но подумайте о нем как о отдельном проекте, а не о том, что вы должны делать сейчас, только потому, что ваш хост обновляет PHP до 7.1 по всем направлениям.

...