2010-11-06 88 views
2

我有2檯筆記本電腦具有相同的win7配置。 Apache/PHP/MySQL是從一個到另一個的複製/粘貼。但是,只有當<?php ?>被添加到一個,並且在另一臺筆記本電腦上與<? ?>正常工作時,PHP才起作用。我想使PHP的工作<? ?>而不是<?php ?>

我不想將所有PHP標記從<? ?>更改爲<?php ?>。我如何使PHP與<? ?>一起工作。

+3

你指出一個很好的理由總是使用 - 你永遠不知道,從一臺服務器下一個如果您可以通過快捷方式逃脫,那麼請節省您的麻煩/心痛,並且不要使用它。想象一下,如果你沒有控制php.ini。 – 2010-11-06 05:17:56

+1

@Surreal這只是一個配置設置,其中之一。不要做出大不了的事情。爲什麼地球上沒有人跳起來喊着關於mod_rewrite,PDO和其他可能被關閉的有用技術的相同警告,但是糟糕的短標籤總是被指責? – 2010-11-06 05:22:31

+0

還有更多關於爲什麼<?php比<?更好用的信息? http://stackoverflow.com/questions/200640/are-php-short-tags-acceptable-to-use(我也認爲短標籤折舊)。 – GWW 2010-11-06 05:26:18

回答

8

您需要啓用短標籤。在php.ini中設置short_open_tag1

在PHP 5.4之前,這使得<?<?=分別作爲<?php<?php echo的替代方案。在PHP 5.4中,<?=始終打開,因此short_open_tag僅控制<?的可用性。

6

更好的主意:更改您的代碼以使用<?php。這樣,它便於攜帶,並且在更換服務器時不必重寫。

如果你真的真的想要的速記和不關心的便攜性,在你的php.ini改變short_open_tag爲1

+0

我認爲它稍微更便於攜帶,並且在不太可能的情況下,如果遇到不啓用短標籤的服務器,則必須調整ini設置或花費30秒[通過sed運行代碼] (http://www.sjhannah.com/blog/?p=118)。 – meagar 2010-11-06 05:20:24

+0

你也可以正確地使用XML標題:'<?xml version =「1.0」encoding =「UTF-8」?>'必須是'<?php echo'<?xml version =「1.0」encoding =「UTF-8 ?」>'; '''在短標籤上。 – 2010-11-06 05:21:31

+2

@Brendan人們總是提到在打開XML文檔時可以保存7個字符,但似乎並不在乎每輸入7個字符*每次輸出PHP表達式的結果。你更經常做哪些事? – meagar 2010-11-06 05:23:58