0

サイトを専用サーバーに移したばかりで、以前はすべて正常に機能していましたが、新しいサーバーに移動して以来、白い画面が表示される 1 つを除いてすべてのページが正常に動作しているようです。エラー ログを確認すると、PHP 解析エラーが表示されます。

/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を実行しています

4

3 に答える 3

5

<?phpの代わりに最初の行で開始タグを開始してみてください<?。短いタグは許可されなくなりました。

編集マニュアルの詳細を読む

于 2013-07-09T14:01:45.450 に答える
2

おそらく古いサーバーでは、 のデフォルト設定がありましたshort_open_tag

short_open_tag = 1php ini ファイルで有効にする必要があります。新しいサーバーではこの設定がオフになっているためです。

于 2013-07-09T14:04:12.263 に答える
1

交換:-

<? if (isset($_GET['catid'])) {

<?php if (isset($_GET['catid'])) {

古いサーバーphp.iniファイルでは、短いタグを許可するように構成されている必要があります。

于 2013-07-09T14:03:23.463 に答える