今天我不得不将一个网站(wordpress)从一台服务器用cPanel和Linux复制到另一台服务器,用Plesk和Linux。 PHP 5.6所以我认为一切都应该顺利。它没有。 wordpress本身包括插件都很好,都设置在新的服务器上,不幸的是它们制作了自己的主题,而这就是它出错的地方。
起初有一个函数会导致整个站点因内部服务器错误而崩溃。通过擦除函数最终解决了这个问题,并让它返回一个预设语句但是仍然存在错误。此时我不知道该怎么做。
下一个代码也会给出内部服务器错误500
<div id="artists">
<?php
$count = 1;
$paged = 1;
$postsPerPage = 15;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts( 'post_type=artist&orderby=title&order=asc&paged=' . $paged . '&posts_per_page='.$postsPerPage );
while ( have_posts() ) : the_post(); $terms = get_the_terms( get_the_ID(), 'label'); if( !empty($terms) ) { $term = array_pop($terms); $label_logo = get_field('logo', $term); } ?>
<a class="artist <?php if($count%3 == 0) { echo ' last'; } ?>" href="<?php the_permalink(); ?>" <?php if($label_logo) { ?>style="background-image: url(<?php echo $label_logo; ?>);"<?php } ?>>
<h3 class="artist_name"><?php the_title(); ?></h3>
<?php if(has_post_thumbnail()) { the_post_thumbnail('artist'); } else { ?><img src="<?php bloginfo('template_directory'); ?>/assets/img/placeholder_artist.jpg" alt=""><? } ?>
</a>
<?php $count++; endwhile;?>
</div>
有错误:
AH01071: Got error 'PHP message: PHP Parse error: syntax error, unexpected 'endwhile' (T_ENDWHILE) in /var/www/vhosts/xxxxxx.nl/httpdocs/wp-content/themes/hardnews/_artists.php on line 27\n', referer: http://www.xxxxxxx.nl/
在WHILE循环中的某处出现故障,但我无法看到问题。有没有人看到一个明确的问题或知道问题可能是什么,不同的PHP设置或什么?
提前致谢
答案 0 :(得分:2)
<?
。您是否在新服务器上启用了此功能?
在php.ini中:
short_open_tag=On
然后重启apache。
或更好
将其更改为<?php