我刚刚将我的网站转移到一个专用服务器上,所有工作都很好,但是自从转移到新服务器后,所有页面看起来都很好,除了1个那给我一个白色的屏幕。检查错误日志说PHP Parse错误:
/home/ftp1/www/yp_admin/products.php中的语法错误,意外'}' 在第112行
这是第112行
} while ($row_subcategories = mysql_fetch_assoc($subcategories));
并且代码的完整部分是
<? if (isset($_GET['catid'])) {
$scatid1 = $_GET['scatid'];
do { ?>
<div class="div"><a <?php if ($row_subcategories['id'] == $scatid1) { echo('style="color:orange;"'); } ?> href="?view&catid=<?php echo($catid) ?>&scatid=<?php echo($row_subcategories['id']); ?>"><?php echo($row_subcategories['sub_category']); ?></a><span><a href="?new&catid=<?php echo($catid); ?>&scatid=<?php echo($row_subcategories['id']); ?>"> New Product</a></span> </div>
<?php } while ($row_subcategories = mysql_fetch_assoc($subcategories));
} else {
do { ?>
<a href="?catid=<?php echo($row_categories['id']); ?>">
<div class="div"><?php echo($row_categories['category']); ?></div>
</a>
<?php } while ($row_categories = mysql_fetch_assoc($categories));}
?>
在我找不到任何错误之前它完全正常工作,你们有没有遇到过这个问题?
提前感谢您的帮助。
仅供参考我使用Apache服务器运行CentOS
答案 0 :(得分:5)
尝试使用<?php
代替<?
在第一行开始您的开始代码。现在不允许使用短标签。
编辑更多阅读in the manual
答案 1 :(得分:2)
可能在您的旧服务器上,您有short_open_tag
的默认设置。
您需要在php ini文件中启用short_open_tag = 1
。因为您的新服务器已关闭此设置。
答案 2 :(得分:1)
替换: -
<? if (isset($_GET['catid'])) {
与
<?php if (isset($_GET['catid'])) {
在您的旧服务器中php.ini
文件必须以这样的方式配置,以便允许使用短标记。