启用short_open_tags时,echo <?=foo()?>
的PHP短语法无法正常工作。我正在运行Centos6:
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)
将echo "<pre>";print_r(ini_get_all());die();
放在.php文件中会显示以下内容:
[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代码没有被解析。它充当我没有PHP支持apache。尝试写入禁用short_open_tags,这就是我所看到的。 <? echo foo() ?>
工作正常。 apache的日志中没有错误。
我知道不建议使用短标签,但它们用于大型CodeIgniter项目,我无法改变。 anyoen知道什么可能失败吗?
Thx in advanced!
答案 0 :(得分:2)
本地标志可能与phpinfo()
所承诺的不同。可以通过.htaccess
或.user.ini
文件覆盖PHP设置。
要探测哪些实际处于活动状态,请在模板脚本中添加:
<?php print_r(ini_get_all()); ?>
这里的任何人都无法告诉您系统上发生了什么。您需要自己调试。