echo <?=foo()?>
のPHPの短い構文は、short_open_tagsが有効な間は機能しません。私はCentos6を実行しているよ:PHP <?=foo() ?>が動作しない
Linux pau.pauperis.com 2.6.35.11-83.9.amzn1.x86_64 #1 SMP Sat Feb 19 23:42:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
PHP 5.3:
PHP 5.3.8 (cli) (built: Sep 25 2011 11:33:49)
のApache 2.2:
Server version: Apache/2.2.20 (Unix)
.phpファイルでecho "<pre>";print_r(ini_get_all());die();
を配置するには、以下を与える:
[short_open_tag] => Array ( [global_value] => 1 [local_value] => 1 [access] => 6 )
phpinfo();
伝えshort_open_tags
はon
です:
egrep -Ri 'short_open' .
./php.ini:; short_open_tag
./php.ini:short_open_tag = On
感謝の答えのためにたくさん! 私はPHPコードが解析されていないと言っています。それは私がApacheのためのPHPサポートを持っていなかったので動作します。 short_open_tagsを無効にしてwrittingを試してみてください。 <? echo foo() ?>
は問題なく動作します。 Apacheのログにはエラーはありません。
私は短いタグはお勧めしませんが、私は変更できない大きなCodeIgniterプロジェクトで使用されていることを知っています。 anyoenは何が失敗するか知っていますか?
Thx in advanced!
「機能しない」と定義します。あなたの質問は実際に起こっていることを述べていません。 –
エラーは何ですか?あなたが私たちに示したことは、うまくいくはずです:http://codepad.org/74Gtq53l –
'foo()'は印刷可能な値を返しますか? '<?php echo foo(); ?> '仕事? – JJJ