2015-04-17 15 views
0

我在兩臺服務器上有相同的PHP,PEAR和ZEND引擎版本。在一臺服務器上一切正常,在第二臺服務器上,我下載一個空的.xls文件。如果我打開的error_reporting,然後在我的.xls文件我有這樣的錯誤:PHP PEAR調用未定義的方法System :: tmpdir()

Fatal error: Call to undefined method System::tmpdir() in /var/www/kasa/packages/OLE/PPS/File.php on line 50.

50號線在File.php樣子:

$this->_tmp_dir = System::tmpdir(); 

在課堂上系統,我有方法TMPDIR()

function tmpdir() { 
     if (OS_WINDOWS) { 
      if ($var = isset($_ENV['TMP']) ? $_ENV['TMP'] : getenv('TMP')) { 
       return $var; 
      } 
      if ($var = isset($_ENV['TEMP']) ? $_ENV['TEMP'] : getenv('TEMP')) { 
       return $var; 
      } 
      if ($var = isset($_ENV['USERPROFILE']) ? $_ENV['USERPROFILE'] : getenv('USERPROFILE')) { 
       return $var; 
      } 
      if ($var = isset($_ENV['windir']) ? $_ENV['windir'] : getenv('windir')) { 
       return $var; 
      } 
      return getenv('SystemRoot') . '\temp'; 
     } 
     if ($var = isset($_ENV['TMPDIR']) ? $_ENV['TMPDIR'] : getenv('TMPDIR')) { 
      return $var; 
     } 
     return realpath('/tmp'); 
    } 

爲什麼在一臺服務器上一切正常nd另一個我有錯誤?

+0

愚蠢的問題,但你確定你沒有超過一個系統類。另外,你應該將這個方法指定爲'public'和'static'。 - **編輯**對不起,這是一個混亂的評論 – DanielM

+0

此外,你確定系統類文件已被列入/需要?我希望錯誤消息是不同的,但值得檢查,如果沒有其他的作品。 – DanielM

回答

0

很可能您有多個System類,並且每個服務器上的include_paths都不相同 - 首先檢測到PEAR的System.php,一切正常,另一個不在。

你應該比較這些,即使只是做「echo get_include_path();」 ,看看你發現了什麼差異。

相關問題