2012-04-04 111 views
2

我認爲,我已經習慣了相當寬鬆的政策關於項目的PHP聲明 - 我一直只是用:爲什麼我要聲明<PHP

<? // here is my php code ?> 

我只是設置一個使用nginx的服務器PHP-FPM下的FastCGI,現在要求我明確聲明:

<?php // here is my php code ?> 

有沒有辦法來改變這種狀況? (除此之外,我將不得不進入我的項目並查找/替換髮生這種情況的所有實例)。

+6

[short_open_tag](http://www.php.net/manual/en/ini.core.php#ini.short-open-tag),雖然不建議使用... – 2012-04-04 18:08:56

+0

@Michael ,從5.4版本開始啓用。所以是的,建議使用它。 – 2012-04-04 18:10:29

+6

@drgomesp錯誤 - 5.4,輸出簡寫符<?='始終可用,而'short_open_tag'默認是關閉的。 – 2012-04-04 18:11:33

回答

13

您需要通過php.ini配置文件啓用short open tags。但是,如果您與PHP同時使用XML,則會有衝突。

剛發現一個good article就不贊成使用PHP6中的短標籤。

+0

我會添加caviate,PHP,在較新的版本中,正在取消短標籤。所以你將不得不使用標籤。不管你喜不喜歡。這也不難做,所以你爲什麼抱怨? – pthurmond 2012-04-04 18:13:43

+0

這並不是說很難做到,但使用簡短的開放標籤來支持正確的聲明是一件很遺憾的事情。 – jpea 2012-04-04 18:15:37

+0

認真嗎?如果我是你,我只需在代碼文本編輯器(如記事本++)中打開所有這些文件,並用'<?php'替換所有'<?'。大約需要2分鐘... – 2012-04-04 18:25:25

5

進入php.ini並找到選項short_open_tag。將其設置爲On。這將解決您的問題。

+0

4分鐘的答案...很酷... – 2012-04-04 18:10:32

1

有沒有這樣的事情作爲一個PHP腳本。只有文件中嵌入了PHP代碼塊。你必須開始一個<?php(或<?如果你有短標籤啓用)的PHP代碼塊。這是沒有辦法的。沒有這個開放標籤,PHP解釋器就會成爲一個非常昂貴的'貓'版本。

1

雖然給出的答案是如何啓用短標籤是正確的,我會建議反對。請考慮您編寫的代碼可能無法在您的計算機上單獨運行。如果你打算髮布你的代碼或部署到一個生產服務器,你應該始終使用<?php打開的標籤,因爲這將最大限度地減少不運行代碼的可能性,以及與此相關的故障排除。

相關問題