I am getting the following error while installing chamilo version 1.11.6.
Fatal error: can't use function return value in write context in /var/www/html/chamilo/main/inc/lib/api.lib.php on line 1772
My php version is 7.2.
I am getting the following error while installing chamilo version 1.11.6.
Fatal error: can't use function return value in write context in /var/www/html/chamilo/main/inc/lib/api.lib.php on line 1772
My php version is 7.2.
This error appears because somehow the PHP version is not 7.2 (but rather <5.5) in the context in which you are executing the page.
Since PHP 5.5, the emty() function was changed to support function results. See http://php.net/manual/en/function.empty.php
Note: Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.
My guess is the place where you change the PHP version in your control panel doesn't affect (or didn't affect yet) the place where Chamilo is being loaded. Ask your hosting provider, maybe?
You can place a "info.php" file with the following content at the root of Chamilo and load it directly through the browser. This will tell you what version PHP is running at in the Chamilo directory:
<?php phpinfo();
I bet it still shows PHP 5.4...