Fatal error: Can't use function return value in write context in ...\libraries\common.inc.php on line 467
以上两个错误出自PHPMyAdmin目录中的libraries\common.inc.php,当PHP版本过低时会触发该错误,代码如下
if (@extension_loaded('mbstring') && !empty(@ini_get('mbstring.func_overload'))) {
PMA_fatalError(
__(
'You have enabled mbstring.func_overload in your PHP '
. 'configuration. This option is incompatible with phpMyAdmin '
. 'and might cause some data to be corrupted!'
)
);
}
PHP 5.6之前版本中,empty()不能接受函数的返回值为参数,
PHP 5.5之前版本的empty()不接受表达式作为参数,只接受变量作参数
,!empty(@ini_get('mbstring.func_overload')) 可以改成 $mbf = @ini_get('mbstring.func_overload'); !empty($mbf),回到上述代码,需要将$mbf = @ini_get('mbstring.func_overload'); 放到if(...)之前。
Parse error: syntax error, unexpected '@' in ...\libraries\common.inc.php on line 467 原因是在ini_get()前使用了@符号。
新版PHPMyAdmin不支持老版本的PHP,换用PHP 5.5以上版本即可解决以上问题。