Fatal error PHP error between installation step 4 and 5.

Hello together,

I'm new here, so thanks for the opportunity and I hope to get some help. I searched a lot but didn't find any conclusion. I'm experiencing a php fatal error when trying to bringing up the elgg software.

First of all:

I run a docker container with debian stretch, apache and php 7.2 from the official php-docker-repo (repo.https://github.com/docker-library/php) as well as a second container with a MySQL-DB and try to run the latest elgg-version 2.3.4

I installed all necessary php-plugins, provided the apache config(url-rewriting aso), setup the mysql-connection, checked permissions and got this the 4th installation step, where I need to configure my site and create the settings.php.(http://127.0.0.1:8080/install.php?step=settings) Going next I receive this:

Fatal error: Declaration of ElggSite::delete() must be compatible with ElggEntity::delete($recursive = true) in /var/www/html/elgg/vendor/elgg/elgg/engine/classes/ElggSite.php on line 28

I don't have any idea how to fix that. I tried different PHP- or Elgg-versions, figuring out missing php-extensions, fixing permissions. I can't get further.

Here is a list of my php modules:

[PHP Modules]
Core
ctype
curl
date
dom
fileinfo
filter
ftp
gd
hash
iconv
intl
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
pgsql
Phar
posix
readline
Reflection
session
SimpleXML
soap
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib
  • Could you try with PHP 7.1 instead of PHP 7.2? Final version of 7.2 is not yet out, and it might be that it's a bug in PHP causing this fatal error instead of just a warning as it seems to have been before. Or it might be that Elgg is just not yet ready for PHP 7.2 if there had been some backward incompatible changes made in PHP 7.2 with regards to incompatible method declarations.

  • Php 7.2 is not for production use. 7.1.11 is last stable version. I am using 7.1.8 and Elgg2.3.4