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版本太低時會觸發該錯誤,代碼以下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()不接受表達式做爲參數,只接受變量做參數blog
,!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以上版本便可解決以上問題。get