IIS7.5上的Wordpress php函数get_header和get_footer问题本地主机

时间:2011-12-22 09:16:23

标签: php wordpress function iis-7.5 localhost

我已经在我的盒子上安装了IIS7.5,包括php当然,我已经从我的实时服务器复制了我的wordpress网站并更改了db等中的url设置。

然而,当访问主页时,不会呈现header.php文件中关联的样式或元数据。看源代码,它改变了默认的php函数

        <?php get_header(); ?>

包含header.php文件,它将以

的形式呈现给浏览器
        <? get_header(); ?>

即在视图源中可以看到它。

其他php函数和包含和php一般似乎在其他文件中运行正常...我有mantisBT安装顺利运行,例如。

  • 我已经尝试过再次从服务器复制文件,然后使用全新安装的wordpress。
  • 访问wp-admin似乎一切正常

有没有人有任何想法可能导致这个?

TA

编辑:添加index.php文件 - 非常香草。

         <?php get_header(); ?>
         <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

         <!-- Begin Post: <?php the_title(); ?> --> 

            <div class="post">
            <h3 class="posttitle"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
            <div class="title"><div class="postmetadata"><?php the_time('F jS, Y'); ?> by <?php the_author(); ?> in <?php the_category(', '); ?></div></div>

            <div class="entry">
                <?php the_content(); ?>
            </div>

<div class="tags"><div class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?></div></div><div class="comments"><div class="postmetadata"><?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?> <img src="<?php bloginfo('template_directory'); ?>/images/comment.png" alt="Comments" /></div></div>
            </div><br /><br /><br /> 

         <!-- End Post: <?php the_title(); ?> -->

         <?php endwhile; ?>
            <div class="navigation">
                <div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
                <div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
            </div>

         <?php else: ?>
          <p>Sorry, no posts matched your criteria.</p>
         <?php endif; ?>

         </div>
         <!-- Include Sidebars -->
         <?php include (TEMPLATEPATH . '/sidebarR.php'); ?>
         <?php include (TEMPLATEPATH . '/sidebarL.php'); ?>     
         </div>
         <?php get_footer(); ?>

编辑:添加了header.php - 也非常香草

     <!DOCTYPE html>
     <html>
     <head>
     <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />    
        <link href="style.css" rel="stylesheet" type="text/css"/>
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_head(); ?>
<title><?php if (is_single() || is_page() || is_archive()) { ?><?php wp_title('',true); ?> | <?php } ?><?php bloginfo('name'); ?></title>
     </head>
     <body>
     <div id="navwrap">
     <div id="nav">
        <div class="navpad">
            <ul class="navi">
     <li class="page_item"></li>
        </div>
     </div>
     </div>
     <div id="header">
        <div class="headpad">
             </div>
     </div>
     <div id="wrapper">
     <div id="content">

更新: 仍然得到相同的问题,重新安装了PHP 5.3.8,检查编码,保存文件为utf-8没有BOM。仍然没有快乐。

           <? get_header(); ?>



              <div class="post">

更新2:

仍然没有这个工作,代码是wordpress主题的标准,我已经安装了另一个主题,它似乎工作正常,所以我怀疑这是一个IIS7问题。

我查看了文件的编码并确保一切都是utf-8。

我所有的wordpress核心文件都是完整的,并且是最新的。

4 个答案:

答案 0 :(得分:1)

Wordpress模板文件中的这一行是一个php代码,应该在服务器端处理,当你用IIS调用页面时它不应该在源代码中可见

  <?php get_header(); ?>

检查您的php安装并手动重写PHP-Open标记<?php和PHP-Close标记?>。标签之间也可能存在编码问题。另请尝试使用其他编辑器编辑文档,或尝试将编码类型更改为UTF-8。如果它仍然失败,那么在这里附上你的Template header.php。

答案 1 :(得分:1)

如果您未在代码中使用任何<?xml ?>,则可以尝试将short_open_tag 1添加到php.ini中。看起来您的环境可能正在从标记php中剥离<?php,如果您使用的是PHP 5.3+ short_open_tag,则默认情况下处于禁用状态,并且不会呈现。

首选项是禁用short_open_tag,并且值得查看从php删除<?php的内容,但将配置设置设置为1可能至少让它现在起作用。

答案 2 :(得分:1)

而不是<?php get_header(); ?>尝试直接包含方法<?php include_once("header.php"); ?>,让我知道发生了什么。

<?php get_footer(); ?>也可以正常工作,也可以在源代码中显示。感谢

答案 3 :(得分:0)

似乎有一些问题在一定程度上帮助解决了这个问题......

  1. 从路径中的文件夹名称中删除了~
  2. test.xyz.com地址添加到主机文件
  3. 将这些地址添加到II7.5
  4. 更新了wordpress db以反映新地址。
  5. 重写了index.php主题文件并重写了对get_header函数的调用。
  6. 在我身上浪费了太多的生命......
  7. 结果:

    1. localhost/path/to/index.php现在正常工作,并按预期加载标头。但并非所有内容(主页上都没有页面)。

    2. test.xyz.com/index.php未加载标题,仍显示<? get_header(); ?>和页脚文件的等效文件。