web-dev-qa-db-ja.com

<? ?> PHP 5.3.1で機能しないタグ

Linuxサーバーにphp 5.3.1をインストールしたところ、タグを使用して作成していた古い作業がまったく機能しなくなりました。

私を助けてください..これを解決するにはどうすればよいですか?

33
dhvani

短いタグを有効にするには、次のいずれかの方法で_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

70
Felix Kling

Php.iniファイルでshort_open_tagsが「Off」に設定されているようです。 「オン」に設定して、Apacheを再起動してください。

10
Yo-L

PHP設定ファイルで短いタグをオンにする必要があります。設定がわからないと、どこにあるかわかりませんが、php.iniを探しています。 (ほとんどの場合、/etc/php.ini)。

そこでは、あなたが後の設定はshort_open_tags。 PHPのすべてのコア構成設定については、 here を参照してください。ただし、他の人が述べたように、短いタグを使用することは最良の戦略ではないかもしれません。 ここ は理由の良い議論です(賛否両論)。

1
Mark Embling

たぶん、あなたの新しい設定は短いタグを許しません。 <?php ?>を使用してください。とにかく良い練習です。

それでも使用したい場合は、short_open_tagディレクティブを使用できます。また、短いタグを無効にしていると機能しないことにも注意してください。

この主な理由は、インラインXmlタグを使用できるためです。

0
Sinan

Wampまたはxampを使用する場合、それらをアクティブにするのは本当に簡単です。アイコンをクリックしてください-> PHPサーバー->設定->短いタグを開くことができます

この機能を使用しないことをお勧めします。たとえば、xmlは同じ方法でドキュメント内のヘッダーを開きます。

0
Osin Toumani