Apache-2.2

PHP short_open_tag 不會啟用 (CentOS 6)

  • June 23, 2015

我正在設置在 CentOS 6 上執行的 Apache2、PHP 5.3.3 伺服器。我的 Web 應用程序使用短標籤<?<?=. 我似乎無法啟用短標籤。當我執行時,phpinfo()我看到short_open_tag = off了,但是在/etc/php.ini我有這個:(short_open_tag = on是的,我已經重新啟動了伺服器)。

我也嘗試<?php ini_set('short_open_tag','1'); ?>在頁面開頭使用它,但它仍然無法解析短標籤中的程式碼。

我能想到的唯一一件事是在php.ini某處有另一個文件正在使用,而不是或覆蓋/etc/php.ini.

有什麼建議嗎?

我有一個相當預設的 CentOS 6.3 系統和 PHP 5.3.3,它按預期工作。更改 /etc/php.ini 中 short_open_tags 的值並重新啟動 httpd 服務即可。

PHP 還讀取文件,/etc/php.d因此檢查其中一個文件是否被覆蓋。

如果你想檢查其他 php.ini 文件然後

find / -name php.ini 

更多資訊,short_open_tag 的值也可以在 .htaccess 文件中設置

php_value short_open_tag On

最有可能的是,您啟用了 eAccelerator 或類似的東西。沒有處理預編譯的頁面,所以只需清除eAccelerator記憶體,或者(醜陋)解除安裝eAccelerator,重新啟動Apache,重新安裝eAccelerator,重新啟動Apache..

引用自:https://serverfault.com/questions/423964