簡體   English   中英

使用MAMP在本地設置遠程PHP網站的類錯誤

[英]Class Errors with remote PHP website being setup locally with MAMP

我一直在努力縮小要求我在本地復制的遠程網站可能出現的問題的列表。

  • 我已經更新了整個網站的相對/絕對路徑。
  • 我已將MAMP降級為PHP的早期版本。
  • 我已經確認本地文件權限與遠程文件權限相同。

我對於為什么網站的確切結構在本地重復感到困惑,為什么代碼會出現致命錯誤。 如何進一步調試網站或將我的網站“下載”到本地MAMP目錄?

Notice: Undefined index: errors in /Applications/MAMP/htdocs/core/config/config.php on line 21 2 Warning require_once(index.php) [function.require-once]: failed to open stream: No such file or directory /Applications/MAMP/htdocs/core/config/config.php 116

Fatal error: require_once() [function.require]: Failed opening required 'index.php' (include_path='/Applications/MAMP/htdocs/core/classes/:/Applications/MAMP/htdocs/view/classes/:/:/:/Applications/MAMP/htdocs/core/pear/') in /Applications/MAMP/htdocs/core/config/config.php on line 116

這是導致問題的自動加載功能-我只是不知道為什么:

`//AUTOLOAD
function __autoload($class_name)
{
    if($GLOBALS['show_dev'])
    {
        if(!isset($GLOBALS['starttime'])) {
            $GLOBALS['starttime'] = microtime(true);
        }
        $stack = array();
        foreach(debug_backtrace() as $stack_item) {
            $stack[] = $stack_item['file'] . ': ' . $stack_item['function'] . ': ' .                        $stack_item['line'];
        }
        $debug =  array(
            'Loading Class' => $class_name,
            'Class Loaded at' => number_format(microtime(true) - $GLOBALS['starttime'], 4, '.', ''), 
            'Memory (MB) used before class load' => (memory_get_usage() / (1024 * 1024)),
            'Current Stack Trace'=> implode("<br />", $stack)
        );

        $GLOBALS['debug'][] = $debug;
    }
    echo $class_name;
    require_once($class_name . ".php");
}`

在回顧了常量變量定義的設置之后,我注意到使用了“ realpath”功能-在這種情況下為什么需要realpath?

`function setConstants(){

    if (!$this->info['constants'] || $GLOBALS['nocache'])
    {
        $this->info['constants'] = array
        (
            'SECTION'       => $this->section,
            'CONST_DEFINED' => true,
            'PEAR_ROOT'     => "/Applications/MAMP/htdocs/core/pear/",
            'SERVERS'       => "localhost:8888",

            'DOCUMENT_ROOT' => realpath('/Applications/MAMP/htdocs/view/') . "/",           
            'CORE_ROOT'     => realpath('/Applications/MAMP/htdocs/core/') . "/",           
            'CLASS_PATH'    => realpath('/Applications/MAMP/htdocs/classes/') . "/",            
            'CORE_CLASS_PATH'   => realpath('/Applications/MAMP/htdocs/core/classes/') . "/",

            'EMAIL_DATA_PATH'   => realpath('/Applications/MAMP/htdocs/core/emails/data/') . "/",

            'CORE_DATA_PATH'    => realpath('/Applications/MAMP/htdocs/view/'.$this->section.'/data/') . "/",
            'CORE_ACTION_PATH'  => realpath('/Applications/MAMP/htdocs/view/'.$this->section.'/actions/') . "/",
            'CORE_CONTROL_PATH' => realpath('/Applications/MAMP/htdocs/view/'.$this->section.'/controllers/') . "/",
            'CORE_HTML_PATH' => realpath('/Applications/MAMP/htdocs/view/'.$this->section.'/html/') . "/",

            'COMPONENT_DATA_PATH'   => realpath('/Applications/MAMP/htdocs/view/'.$this->section.'/data/components/') . "/",
            'COMPONENT_HTML_PATH' => realpath('/Applications/MAMP/htdocs/view/'.$this->section.'/html/components/') . "/",              
        );

        //$GLOBALS['cache']->set($this->cache_file_name,$GLOBALS['info'],1);
    }
}

閱讀此SO帖子。 PHP Zend require_once 從您發布的內容來看,您似乎沒有設置真實路徑。 如果是這樣,將導致故障。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM