0

最近、私はOOPで作業を開始し、使用するクラスをロードするためにclassLoaderを作成しました..このクラスを作成して(ローカル)で作業したところ、すべてうまくいきました。しかし、すべてをウェブホストにアップロードすると、機能しなくなりました。ローダーがクラスをロードする必要があるページにアクセスすると、次のエラーが表示されます..

Fatal error: Uncaught exception 'Exception' with message 'Class "formhandler" could not be autoloaded from:
    /var/www/vhosts/***.nl/httpdocs/admin/lib/formhandler.php' in 
    /var/www/vhosts/***.nl/httpdocs/admin/index.php:30 Stack trace:
        #0 /var/www/vhosts/***.nl/httpdocs/admin/index.php(109): __autoload('formhandler')
        #1 {main} thrown in /var/www/vhosts/***.nl/httpdocs/admin/index.php on line 30

私のオートローダーのコードは次のとおりです..

function __autoload($className) 
      {
        // get the base dir.
          $base = dirname(__FILE__);

          // get path
          $path = $className;


          $file = $base . "/lib/" . $path . '.php';       


          //if exists get file else throw error
          if (file_exists($file)) 
          {
              require $file;      
          }
          else 
          {
              error_log('Class "' . $className . '" could not be autoloaded');
              throw new Exception('Class "' . $className . '" could not be autoloaded from: ' . $file); 
          }
      }
4

2 に答える 2

0

私は解決策を見つけました。新しい formhandler(); がありました。しかし、代わりに new FormHandler(); を使用する必要がありました。私のウェブホストはそれを見つけられなかったので、私のスクリプトでは..非常に面倒ですが、今は動作します!

于 2012-08-01T13:58:12.967 に答える
0

formhandlerクラスの生産パスを比較します。との間に違いがあることを保証し/var/www/vhosts/.nl/httpdocs/admin/lib/formhandler.phpます。修正してください。

于 2012-08-01T13:31:34.170 に答える