【问题标题】:Fatal error: Cannot instantiate non-existent class:updatescontroller on line 97致命错误:无法实例化不存在的类:第 97 行的更新控制器
【发布时间】:2012-02-22 12:08:28
【问题描述】:
<?php

/** Check if environment is development and display errors **/

function setReporting() {
if (DEVELOPMENT_ENVIRONMENT == true) {
   error_reporting(E_ALL);
   ini_set('display_errors','On');
} else {
error_reporting(E_ALL);
ini_set('display_errors','Off');
ini_set('log_errors', 'On');
ini_set('error_log', ROOT.DS.'tmp'.DS.'logs'.DS.'error.log');
   }
}

/** Check for Magic Quotes and remove them **/

function stripSlashesDeep($value) {
$value = is_array($value) ? array_map('stripSlashesDeep', $value) :            stripslashes($value);
return $value;
 }

function removeMagicQuotes() {
if ( get_magic_quotes_gpc() ) {
$_GET    = stripSlashesDeep($_GET   );
$_POST   = stripSlashesDeep($_POST  );
$_COOKIE = stripSlashesDeep($_COOKIE);
  }
}

/** Check register globals and remove them **/

/*function unregisterGlobals() {
if (ini_get('register_globals')) {
  $array = array('_SESSION', '_POST', '_GET', '_COOKIE', '_REQUEST', '_SERVER', '_ENV',      '_FILES');
foreach ($array as $value) {
   foreach ($GLOBALS[$value] as $key => $var) {
  if ($var === $GLOBALS[$key]) {
   unset($GLOBALS[$key]);
    }
   }
  }
 }
}*/
 /** Routing **/

function routeURL($url) {
global $routing;

foreach ( $routing as $pattern => $result ) {
        if ( preg_match( $pattern, $url ) ) {
            return preg_replace( $pattern, $result, $url );
        }
}

return ($url);
}

/** Main Call Function **/

function callHook() {
global $url;
global $default;
global $sent;
$queryString = array();

if (!isset($url)) {
    $controller = $default['controller'];
    $action = $default['action'];
} else {
    $url = routeURL($url);
    $urlArray = array();
    $urlArray = explode("/",$url);
    $controller = $urlArray[0];
    array_shift($urlArray);
    if (isset($urlArray[0])) {
        $action = $urlArray[0];
        array_shift($urlArray);
    } else {
        $action = 'view'; // Default Action
    }
    $queryString = $urlArray;
    if(isset($queryString[0]))
    $sent=$queryString[0];
    //echo $sent;
}

$controllerName = $controller;
$controller = ucwords($controller);
$model = rtrim($controller, 's');
$controller .= 'Controller';
//echo($model);
//echo($controllerName);
//echo($action);
    //echo phpinfo();
**$dispatch = new $controller($model,$controllerName,$action);**

if ((int)method_exists($controller, $action)) {
    //call_user_func_array(array($dispatch,"beforeAction"),$queryString);
    call_user_func_array(array($dispatch,$action),$queryString);
    //call_user_func_array(array($dispatch,"afterAction"),$queryString);
} else {
    /* Error Generation Code Here */
}
}

/** Autoload any classes that are required **/

function __autoload($className) {

if (file_exists(ROOT . DS . 'library' . DS . strtolower($className) . '.class.php')) {
    include_once(ROOT . DS . 'library' . DS . strtolower($className) . '.class.php');
} else if (file_exists(ROOT . DS . 'application' . DS . 'controller' . DS . strtolower($className) . '.php')) {
    include_once(ROOT . DS . 'application' . DS . 'controller' . DS . strtolower($className) . '.php');
} else if (file_exists(ROOT . DS . 'application' . DS . 'model' . DS . strtolower($className) . '.php')) {
    include_once(ROOT . DS . 'application' . DS . 'model' . DS . strtolower($className) . '.php');
} else {
    /* Error Generation Code Here */
}
}

setReporting();
removeMagicQuotes();
//unregisterGlobals();
callHook();


*****//

当我将此文件上传到服务器时,它显示错误

Fatal error: Cannot instantiate non-existent class:updatescontroller on line 97

指向线

 $dispatch =new $controller($model,$controllerName,$action);

请帮我确定出了什么问题。

同样,同一台服务器也不允许我运行 unregisterGlobals() 函数并显示“未定义索引的错误太多”。

整个项目在我的 localhost 服务器上运行良好。

【问题讨论】:

  • 您在本地主机和部署服务器上运行的 PHP 版本是什么?

标签: php php-5.3 fatal-error php4


【解决方案1】:

从错误消息中,我猜您缺少一个声明 updatescontroller 类的包含文件。也许您需要上传整个项目?

您的本地 PHP 配置似乎与远程配置不匹配。尝试将本地 php.ini 与远程服务器匹配,以使本地测试更加真实。

如果可能,请尝试将本地服务器上的 PHP 版本与远程服务器匹配。版本之间可能存在细微差别。

【讨论】:

    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多