2012-12-19 35 views
-2

我的網站已經崩潰,當我在index.php文件在模板文件夾中添加這些PHP代碼:我的網站已經崩潰時,我添加一些PHP代碼

<?php 
        if (!class_exists('VmModel')) require_once(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'vmmodel.php'); 
        if (!class_exists('VmConfig')) require_once(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart'.DS.'helpers'.DS.'config.php'); 
        if(!class_exists('VirtueMartCart')) require_once(JPATH_VM_SITE.DS.'helpers'.DS.'cart.php'); 
        $hv_cart = VirtueMartCart::getCart(true); 
        foreach($hv_cart->products as $pkey =>$prow){?> 
         <li class="ui-widget-content ui-corner-tr" style="width: 48px;"> 
          <?php echo $prow->image-> displayMediaThumb('style="height: 36px; width: 100%"',false); ?> 
          <span>SL:<?php echo $prow->quantity; ?></span> 
          <span class="hv_hidden" product_id="<?php echo $prow->virtuemart_product_id; ?>" quantity="<?php echo $prow->quantity; ?>"> </span> 
         </li> 
        <?php 
        } 
       ?> 
當我瀏覽網頁的服務器顯示錯誤

Fatal error: main() [function.main]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "VmImage" of the object you are trying to operate on was loaded before unserialize() gets called or provide a __autoload() function to load the class definition in C:\xampp\htdocs\chovietnam.com\templates\it_thestore4\index.php on line 68

線68使錯誤是

<?php echo $prow->image-> displayMediaThumb('style="height: 36px; width: 100%"',false); ?> 

我第一次瀏覽網頁仍然工作良好,但是當我訪問^ h再次頁面,它會發生錯誤。而我清除瀏覽器的所有cookie,緩存...它會再次確定,並在我再次訪問主頁時出錯。但是,如果我訪問其他網頁(主頁不,這些代碼仍然在頁面工作)沒有錯誤出現 任何人都可以幫我解決這個問題,我使用的是Joomla 2.5和Virtuemart 2.感謝

回答

-2

試試這個:

<? php echo $prow->image-> displayMediaThumb('style=\"height: 36px; width: 100%\"',false); ?> 
+0

做ü意味着我repalce「<?PHP的」和「<?PHP的」? – user1912285

+0

雙引號無需在單引號內轉義。 – icktoofay

+0

試圖把反斜線雙引號 –

2

你的問題是,在PHP代碼中的某個地方(不一定是你寫的代碼),unserialize被調用。數據表示在致電unserialize時不存在的類。因此,PHP不能真正反序列化它:它不能創建一個不存在的類的實例。添加class_exists檢查和require_once語句VmImage爲好。

+0

我第一次瀏覽網頁仍然工作得很好,但是當我再次訪問主頁,使其誤差。而我清除瀏覽器的所有cookie,緩存...它會再次確定,並在我再次訪問主頁時出錯。錯誤只出現網頁,而不是在其他頁面操作(雖然在本頁面我的代碼工作過) – user1912285

+0

我已經有class_exists您在上面的代碼中 – user1912285

+0

@ user1912285:我知道你已經有一些。添加*另一個*,但對於'VmImage'。 – icktoofay

0

這聽起來像:當你訪問你的網站,包括你上面的代碼 ,虛擬機存儲一些東西在會話/ cockie。 當您再次瀏覽它時,會失敗,因爲會話已恢復,但您的代碼加載的php類當時不會加載。

嘗試在VM類儘早或更好的加載虛擬機類的自動加載功能