如何更新CakePHP?

I have to update CakePHP from current, outdated version (2.7.7) to latest on 2 branch, because of PHP7 support.

While I've done numerous framework upgrades before, I found book.cakephp.org a more than a cryptic about key things which I ask here:

  • can it be done by replacing directoris
  • which directories are intended to be replaced (never edit dirs, like system in Codeigniter)
  • which directories are partially replaced if any
  • is there SQL commands that should be run?
  • is there other commands that should be run?

Any clue is appreciated, but 2 and 3 are of most value I guess. Thanks in advance.

Depending on how you've installed CakePHP, you either use composer to update the CakePHP core dependency:

$ composer update

or require a specific constraint/version if your current constraint doesn't allow upgrading:

$ composer require cakephp/cakephp:^2.10.3

If you're not using composer (I'd suggest to switch to using it), then you download the latest release package manually, and completely replace the /lib/Cake directory. With respect to the core, the upgrade is then complete.

Then read the migration guides to figure the possible changes that you have to apply to your application code or database schemas, and also compare the "application template" changes (/app/) to your local application and apply changes in case necessary. After this, run your test suite to ensure that everything works as expected.

With that being said, the upgrade from 2.7 to the latest 2.10 should be pretty easy, as it is said to be fully API compatible.

I recommend you to use composer to manage your framework and extensions.
With composer installed, it would be much easier to update. If you decide to use composer, let me know if you need any more help by installation, setup or update.