2012-10-14 34 views
0

我不知道從哪裏開始修復此問題。我有一個Ubuntu和Windows雙啓動服務器。在Ubuntu中,一切工作正常,但在Windows(使用WAMP)中,我在我的一些網站上發現了神祕的PHP錯誤,而其他人(使用PHP)正常工作。僅在Windows服務器上出現PHP錯誤

Ubuntu screenshot http://newplayproject.org/wp-content/uploads/2012/10/screenshot-windows.jpg

,因爲它在Ubuntu的正常使用,我猜其實有沒有我的代碼中的錯誤,但我很想念在Windows上一些PHP模塊。有任何想法嗎?

在迴應的意見之一,這裏有一個「循環blog.php的」內容:

<?php 
global $options; 
foreach ($options as $value) { 
if (get_settings($value['id']) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings($value['id']); } 
} 
?> 
<?php get_header(); ?> 
<? if ($xs_enable_static_feature == "false") { ?> 
    <? } else { ?> 
    <img src="<?php header_image(); ?>" alt="Static Image" class="static-image" width="880" height="280" title="Static Image" /> 
<? } ?> 
    <? if ($xs_disable_slider== "true") { ?> 
    <? } else { ?> 
     <?php get_template_part('nivoslider') ?> 
<? } ?> 
    <div id="main"> 
<h1>Latest Posts</h1> 
    <?php if (have_posts()) : ?> 
    <?php while (have_posts()) : the_post(); $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id(), 'large'); ?> 
      <div class="post"> 
       <div class="postcontent"> 
      <? 
      // Checks To See If, Thumbnails Are Disabled 
      if ($xs_disable_thumbnails_archieve == "true") { ?> 
      <? 
      //If Not Disabled, Show Thumbnails 
      } else { ?> 
      <div class="postimg"> 
        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img src="<?php bloginfo('template_directory'); ?>/functions/timthumb.php?src=<?php 
        if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) { 
         echo $thumbnail[0]; 
        } else { 
         $postimage = get_post_meta($post->ID, 'post-image', true); 
         if ($postimage) { 
          echo $postimage; 
         } else { 
          echo catch_that_image(); 
         } 
        } 
        ?>&amp;h=<?php echo $xs_thumbnail_height ?>&amp;w=<?php echo $xs_thumbnail_width ?>&amp;s=1" width="<?php echo $xs_thumbnail_width ?>" height="<?php echo $xs_thumbnail_height ?>" alt="<?php the_title(); ?>" /></a> 
      </div><!-- /postimg --> 
      <? } ?> 
      <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> 
     <?php the_excerpt(); ?> 
     </div><!-- End Post Content --> 
       </div><!-- End Post --> 
<?php endwhile; ?> 
<?php endif; ?> 
     <?php 
      //Check For the Page Navi Plugin 
      if (function_exists('wp_pagenavi')) { 
       wp_pagenavi(); 
      //Show Default Navigation if Page Navi Is Not Installed 
      } else { ?> 
       <div class="paginate"> 
        <div class="paginate-left"><?php previous_posts_link('Newer Posts') ?></div> 
        <div class="paginate-right"><?php next_posts_link('Older Posts') ?></div> 
       </div><!-- /paginate --> 
      <? } ?> 
</div><!-- End Main -->  
<?php get_sidebar(); ?> 
<?php get_footer(); ?> 
+0

你需要發佈你的代碼和你得到的錯誤,而不是截圖。 – j08691

+0

請發佈loop-blog.php的內容。 – AndreKR

+0

可能不是因爲文件在那裏結束。 :)在第62行之前必須有一個開口支架或其他物品。 – AndreKR

回答

4

我的猜測是,你沒有在Windows中啓用short_open_tag,從而錯過了一些PHP塊。

如果short_open_tag已打開,請檢查phpinfo()的輸出。如果不是,請在您的php.ini文件中啓用它。

+0

太棒了!這完全解決了我的一個網站的問題。我猜一定還有一些PHP塊需要啓用,因爲在另一個站點上我仍然收到這個錯誤:注意:未定義變量:第17行[path]中的描述調用堆棧#TimeMemoryFunctionLocation 10.0004366672 {main ()[path]:0 20.0007369056include('[path]').. \ [path]:3 30.0009373008include('[path]').. \ [path]:2「/> – americanknight

+0

這可能是因爲在Ubuntu服務器上'error_reporting'被設置爲'E_ALL&〜E_NOTICE'類似的東西,而在你的Windows安裝中,缺少'&〜E_NOTICE'部分 – AndreKR

+0

太好了,修正了更多的錯誤!雖然我還在運行再一次,這只是在Windows中出現:「警告:mysql_fetch_array()期望參數1是資源,在第12行的[路徑]中給出的布爾值」任何想法? – americanknight

0

看這個部分:

<?php 
    //Check For the Page Navi Plugin 
    if (function_exists('wp_pagenavi')) { 
     wp_pagenavi(); 
    //Show Default Navigation if Page Navi Is Not Installed 
    } else { ?> 
     <div class="paginate"> 
      <div class="paginate-left"><?php previous_posts_link('Newer Posts') ?></div> 
      <div class="paginate-right"><?php next_posts_link('Older Posts') ?></div> 
     </div><!-- /paginate --> 
    <? } ?> 

看起來也許你不具有平衡<?php?> PHP標籤。

不確定,但絕對要檢查。

如果可能,絕對避免(過時的,XML不兼容)<? ... ?>「短標籤」形式。這絕對是而不是你想繼續使用的東西。

恕我直言......

+0

這是真的,但我注意到'<?='形式的echo完全由PHP支持,並且不受'short_tags'配置選項的影響。 – Dai

+0

我認爲這不是PHP 5.4之前的情況。 – AndreKR

相關問題