解析错误:语法错误,意外T_FUNCTION,

时间:2014-02-12 16:14:38

标签: php

这个错误有什么问题我没有得到它...当我连接到localhost时它实际工作但当我在免费域上运行时我得到这个错误:解析错误:语法错误,意外T_FUNCTION,在第21行的/home/a7812073/public_html/core/init.php中期待')'我插入了mysql服务器的正确信息

<?php
session_start();

$GLOBALS ['config'] = array(
    'mysql' => array(
        'host' => '127.0.0.1',
        'username' => 'root',
        'password' => '',
        'db' => 'lr'
    ),
    'remember' => array(
        'cookie_name' => 'hash',
        'cookie_expiry' => 604800
    ),
    'session' => array(
        'session_name' => 'user',
        'token_name' => 'token'
    )
);

spl_autoload_register(function($class) {
    require_once 'classes/' . $class . '.php';

});

require_once 'functions/sanitize.php';
if(Cookie::exists(Config::get('remember/cookie_name')) && !Session::exists(Config::get('session/session_name'))) {
    $hash = Cookie::get(Config::get('remember/cookie_name'));
    $hashCheck = DB::getInstance()->get('users_session', array('hash', '=', $hash));
    if($hashCheck->count()) {
        $user = new User($hashCheck->first()->user_id);
        $user->login();
    }
}
?>

1 个答案:

答案 0 :(得分:5)

问题是您正在尝试使用spl_autoload_register()注册匿名函数,但正如您所说,您在Web服务器上使用PHP5.2。

不幸的是PHP&lt; 5.3不支持匿名函数。你需要写一个“常规”函数:

function my_autoload($class) {
    require_once 'classes/' . $class . '.php';
}

spl_autoload_register('my_autoload');

这也适用于PHP&gt; = 5.3。