「&lt ;?」が機能しなくなり、代わりに「<?php」のみが機能するのはなぜですか?
質問
私は xampp を使用してローカルで開発していたので、直接PHPをインストールしましたインストーラ。現在、私のPHPコードの一部では、"<?php
"で始まるPHPコードのみが正しく解析されます。 " <?
"で始まるものまたは" <?=
"は完全に無視され、そのまま残されます。
いずれかのトークンを解析するように構成を調整するにはどうすればよいですか
解決
これは、php.iniという名前の設定です
short_open_tag = 1 # (enabled)
他のヒント
を無効にすることをお勧めしますshort_open_tag
および<?php
でのみ動作します。 short_open_tag
を有効にすると、 XMLと衝突する可能性がありますPHPオープンタグとXML PIの両方が<?
で始まるため、処理命令 <?xml
。
<?のみをプリプロセッサの起動として使用すると、プリプロセッサを整形式のXMLドキュメントと混同することができます。 XMLは processing-instruction の<?を表し、XSLT処理を必要とするXMLが埋め込まれたXHTMLドキュメントを想像してください...プリプロセッサはスタイルシート処理命令と混同され、エラーをスローします。
<?php プロセッサ開始タグを使用することを強くお勧めします。
short_open_tag = php.iniでオフ。また、<?php ini_set( 'short_open_tag'、 'On');を使用して試すこともできます。 >
問題が発生している場合。
php.iniでshort_open_tag = Onを設定できます
これは設定オプションです。詳細については、 http://www.php.net/iniをご覧ください。 core (short_open_tagを探します)。
新しいバージョンの場合:
short_open_tag = On