1. RyujiAMANO

    Posted

    RyujiAMANO
Changes in title
+NetCommons3をPHP7.2以上の環境でインストールすると内部エラーになる
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,29 @@
+
+2018/08/18現在配布中の NetCommons3.1.10 をPHP7.2環境のサーバにインストールしようとすると、管理者アカウントを入力して送信した時点で「内部エラー」になってインストールが先にすすみません。
+
+原因は単純で、CakePHP2のMigrationsプラグインで、PHPの予約語であるobjectと同名のクラスを利用してるから。
+
+app/tmp/logs/error.log みると下記の様なエラーが記録されてるはずです。
+
+```
+ Fatal Error (64): Cannot use 'object' as class name as it is reserved in [/home/xxxx/NetCommons3/vendors/cakephp/cakephp/lib/Cake/Core/Object.php, line 18]
+```
+
+# Object から CakeObjectへ書き換える
+
+問題のファイルは、 app/Plugin/Migrations/Lib/CakeMigration.php なのでこのファイルの1箇所を書き換えればインストールできるようになります。
+
+17行目
+
+```php
+class CakeMigration extends Object {
+```
+
+↑ を ↓ に変更。
+
+```php
+class CakeMigration extends CakeObject {
+```
+
+Migrationsプラグインが対応してくれれば、一番いいんだけど https://github.com/CakeDC/migrations みてると更新とまってそうな気も…^^;
+