concrete5.7.5.13 & PHP7.1 インストール時などにでるエラー対処法

Katz Ueno
Katz Ueno

PHP 7.1 が正式リリースされました。concrete5 の 5.7.x 系の最後のバージョンである 5.7.5.13 にて、同梱のライブラリの影響で、正常にインストールできないなどの現象が発生しました。対処方法を書き残します。

 

concrete5 の version 5.7.5.13 を PHP 7.1 にインストールしようとすると、下記のようなエラーが出ます。

php71_concrete57513_CarbonError.png

 

エラー分

Declaration of Carbon\Carbon::setTime($hour, $minute, $second = 0) should be compatible with
DateTime::setTime($hour, $minute, $second = NULL, $microseconds = NULL).

concrete5 が使用しているライブラリ「Carbon」が PHP 7.1 に対応していなかったために起こったエラーです。

 

対処方法

一番良い方法は、PHP 7.1 を使う場合は、concrete5 Vesion 8 を利用することですが、どうしても 5.7.5.13 を利用したい場合は、下記の方法があります。

 

/concrete/vendor/nesbot/carbon/src/Carbon/Carbon.php

の 671 行目

public function setTime($hour, $minute, $second = 0)

public function setTime($hour, $minute, $second = 0, $microseconds = 0)

に変更していただければ、ひとまず動きます。

 

参考
https://www.concrete5.org/community/forums/5-7-discussion/php-7.1-error/

謝辞:ファーストサーバーの小島さん