0

我的应用程序在开发环境中运行良好。将其上传到生产服务器后,出现以下错误:

解析错误:语法错误,意外的 T_FUNCTION,在第 27 行的 /home/fjamal/public_html/ * /anyname/application/config/config.php 中需要 ')'

错误是指以下代码:

spl_autoload_register(function($class)
{
 if (strpos($class, 'CI_') !== 0)
 {
  if (file_exists($file = APPPATH . 'core/' . $class . EXT))
  {
   include $file;
  }
  elseif (file_exists($file = APPPATH . 'libraries/' . $class . EXT))
  {
   include $file;
  }
 }
}); 

如果我将上面的代码更改为旧版本:

function __autoload($class)
{
 if (strpos($class, 'CI_') !== 0)
 {
  if (file_exists($file = APPPATH . 'core/' . $class . EXT))
  {
   include $file;
  }
  elseif (file_exists($file = APPPATH . 'libraries/' . $class . EXT))
  {
   include $file;
  }
 }
}  

我收到以下错误:

致命错误:在第 4 行的 /home/fjamal/public_html/ * * /anyname/application/controllers/home.php 中找不到类“Frontend_Controller”

错误说明:我的控制器从位于 Libraries 文件夹中的 Frontend_Controller 扩展而来。Frontend_Controller 从位于 core 文件夹下的 MY_Controller 扩展而来。出于某种原因,生产环境中的所有这些问题,我都没有在我的本地主机中得到它。因此,home 是默认控制器。

此错误会阻止应用程序运行,我根本无法弄清楚。任何帮助将不胜感激。

4

1 回答 1

1

我猜你的生产服务器正在运行 PHP <5.3

您的代码使用匿名函数,它们已在 PHP 5.3.0 中引入

解决方案:创建一个命名函数并将其用作回调。

于 2012-10-11T23:24:24.187 回答