Linux サーバーに php 5.3.1 をインストールしたところ、タグを使用して記述していた古い作業がまったく機能しなくなりました。
私を助けてください..どうすればこれを解決できますか??
Linux サーバーに php 5.3.1 をインストールしたところ、タグを使用して記述していた古い作業がまったく機能しなくなりました。
私を助けてください..どうすればこれを解決できますか??
短いタグ( <? ?>
) の使用はお勧めしません。完全な長さのタグ ( <?php ?>
) を使用する必要があります。アプリケーションを移植可能にしたい場合、短い開始タグが別のサーバーで許可されていない可能性があり、そのためアプリケーションが壊れます。
一方、echo ショートハンド<?= $var ?>
は、php.ini の設定に関係なく常に使用可能であり、廃止されることはありません。代わりに使用できます<?php echo $var; ?>
最後の手段として、短いタグを有効にするにshort_open_tag
は、次のいずれかの方法で ini ディレクティブを有効にします (ほとんどの場合、それらのすべてが機能するとは限りません)。
short_open_tag = On
php.iniでディレクティブを設定します (推奨される方法)。
コードを呼び出しini_set("short_open_tag", 1);
ます。
次の行を .htaccess ファイルに追加します。
php_value short_open_tag 1
デフォルトの動作については、次のとおりです。
------------------------------------------------
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 を「オフ」に設定したようです。「オン」に設定して、Apacheを再起動してみてください。
If you use wamp or xamp, it's really easy to activate them. Just click on icon->php server->setting->allow short tag open
It's better to not use this functionality. For example xml use the same way to open header in docs.
新しい構成では短いタグが許可されていない可能性があります。を使用するだけ<?php ?>
です。とにかくそれはより良い練習です。
それでもそれらを使用したい場合は、short_open_tag
指示することができます。また、短いタグが無効になっていると機能しないことにも注意してください。
これの主な理由は、インライン Xml タグを使用できるようにするためです。