Linuxサーバーにphp 5.3.1をインストールしたところ、タグを使用して作成していた古い作業がまったく機能しなくなりました。
私を助けてください..これを解決するにはどうすればよいですか?
短いタグを有効にするには、次のいずれかの方法で_short_open_tag
_ iniディレクティブを有効にします(ほとんどの場合、すべてが機能するとは限りません)。
short_open_tag = On
_をphp.iniに設定します(推奨方法);ini_set("short_open_tag", 1);
を呼び出します。.htaccessファイルに次の行を追加します。
_php_value short_open_tag 1
_
詳細説明:
短いタグの使用は推奨されません(_<? ?>
_)。完全な長さのタグ(_<?php ?>
_)を使用する必要があります。短い構文は非推奨です。アプリケーションを移植可能にする場合は、possibleで、短いオープンタグは別のサーバーでは許可されないため、アプリケーションが破損します。
一方、、エコーの短縮形_<?= $var ?>
_は、=からデフォルトで有効になっています PHP 5.4php.iniの設定に関係なく 廃止されません。_<?php echo $var; ?>
_の代わりに使用できます
そして、デフォルトの動作の場合:
_------------------------------------------------
php.ini values : short_open_tag
------------------------------------------------
PHP 4, 5_0
* Default behaviour : on
* php.ini-dist : on
* php.ini-recommended : on
PHP 5_1, 5_2:
* Default behaviour : on
* php.ini-dist : on
* php.ini-recommended : off
PHP 5_3:
* Default behaviour : on
* php.ini-development : off
* php.ini-production : off
_
そして、短いオープンタグを思いとどまらせる理由:
このディレクティブは、PHPが以下のコードを認識するかどうかを決定します
_<?
_および_?>
_タグは、PHPソースとして処理される必要があります。
ショートタグ「ショートカット」を使用しないことを数年間推奨し、
代わりに、完全な_<?php
_および_?>
_タグの組み合わせを使用します。 XMLが広く普及し、他の言語でこれらのタグを使用することで、サーバーは簡単になります
混乱し、間違ったコンテキストで間違ったコードを解析することになります。しかし理由は
このショートカットは長い間機能でしたが、現在も機能しています
下位互換性のためにサポートされていますが、使用しないことをお勧めします。
また、テンプレートの短いオープンタグに関するRFCが拒否されたことにも注意してください。 http://wiki.php.net/rfc/shortags
Php.iniファイルでshort_open_tagsが「Off」に設定されているようです。 「オン」に設定して、Apacheを再起動してください。
たぶん、あなたの新しい設定は短いタグを許しません。 <?php ?>
を使用してください。とにかく良い練習です。
それでも使用したい場合は、short_open_tag
ディレクティブを使用できます。また、短いタグを無効にしていると機能しないことにも注意してください。
この主な理由は、インラインXmlタグを使用できるためです。
Wampまたはxampを使用する場合、それらをアクティブにするのは本当に簡単です。アイコンをクリックしてください-> PHPサーバー->設定->短いタグを開くことができます
この機能を使用しないことをお勧めします。たとえば、xmlは同じ方法でドキュメント内のヘッダーを開きます。