2014-01-23 23 views
0

我正在遷移現有的PHP應用程序從Apache 2到nginx服務器,我遇到了一個問題:nginx將執行php罰款,當它嵌入<?php ?>標籤,但不是當它只是<? ?>標籤。爲了在不重寫代碼的情況下遷移此應用程序,我如何才能獲得這種不太常規的PHP轉義字符呢?nginx + php-fpm不能用「<?」轉義但IS轉義與「<?php」

+1

http://www.php.net/manual/en/ini.core.php#ini.short-open-tag這與nginx無關。它純粹是一個PHP配置的東西。 –

+1

可能重複的[如何啓用PHP短標籤?](http://stackoverflow.com/questions/2185320/how-to-enable-php-short-tags) –

+0

不要使用短標籤簡單。在記事本++(或其他編輯器)中打開每個.php文件,並用「<?php」替換所有「<?」的出現(注意第一部分中空格是重要的。 – Dave

回答

2

更改您的php配置文件以接受短標籤。 Reference

2

請停止使用短的PHP短標籤。這是3封信,可以在未來挽救巨大的痛苦。這是做錯的一種方式。 PHP.net確認這個here。只需將您所有的<?更改爲<?php即可。請查看this問題,看看如何在整個項目中輕鬆地將所有<?更改爲<?php。或者如果你想要一個簡單的shell腳本,你可以檢查出henriquemoody's remove-php-short-tags.sh。它看起來可能非常有幫助。

如果您需要更多的理由從PHP短標籤更改爲正確的方式只是谷歌「爲什麼PHP短標籤是壞的」,你會看到。 Jetpack 2.0.1就是一個很好的例子。

+0

是的!它強烈建議使用標準標籤形式(既不是**短標籤也不是**標籤**) –