分析错误:语法错误,意外的T_FUNCTION,应为';)';在第22行的/home1/gcc/public


Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /home1/gcc/public_html/university/core/init.php on line 22

在本地主机wamp中运行代码,但当我上传到服务器时,我收到了这个错误。下面是我的代码

<?php
session_start();
$GLOBALS['config'] = array(
    'mysql' => array(
        'host' => 'localhost',
        'username' => 'root',
        'password' => '',
        'db'=> 'database name'
    ),
    'remember' => array(
        'cookie_name' => 'hash',
        'cookie_expiry' => 604800
    ),
    'session' => array(
        'session_name' => 'user',
        'token_name' => 'token',
        'secure' => rand(1000, 9999)
    )
);
spl_autoload_register(function($class) {            // error here
    require_once 'classes/' .$class. '.php';
});

似乎是因为您运行的是旧的PHP版本(比PHP 5.3旧),所以匿名函数被视为语法错误。PHP将回调实现为字符串。您可以正常定义函数,然后传递函数的名称。

function custom_autoloader($class) {
    // your code..
}
spl_autoload_register('custom_autoloader');

您的PHP版本不支持匿名函数。您至少需要5.3.0

你可以检查你的当前版本,例如使用phpinfo()