今天配置了一個php頁面去修改svn密碼問題,結果調了半天,最后在Windows和 Linux的運行現象是不一樣,運行結果更不一樣了,關鍵是完全一模一樣的代碼。
最后發現是短標簽引起的,Windows環境中短標簽默認是打開的,Linux下 默認是關閉的。
控制參數: short_open_tag = On 如果設置為Off,則不能正常解析類似於這樣形式的php文件: phpinfo() ?> 而只能解析 <?php phpinfo() ?> 這樣形式的php文件 所以要想php支持短標簽,需要我們把short_open_tag 設置為On.
<?php 這是完整標簽
<? 這是短標簽
//php.ini中 short_open_tag = On //除<?php ?>,可使用更靈活的調用方法 <? /*程序操作*/ ?> <?=/*函數*/?>
php4種常見風格標簽寫法
<?php echo “1111111111111 <br>”; ?> <? echo “222222222222 <br>”; ?> <% echo“333333333333 <br>”; %> (注釋:這種寫法在php配置中默認關閉了的,所以不能輸出一行3.如果要正常輸出,需要配置php.ini文件。在配置文件中找到asp_tags=off ,將off改為on。改動配置文件后需要重啟apache。) <script language=”php”> echo“444444444444 <br>” </script>
以上四種標簽的區別:
第一種屬於XML風格,當php代碼需要嵌入XML文件中時需要使用這種形式的標簽。第一種風格標簽在配置文件中是不能被禁止的,其他的可以設置禁止或開啟。第二種當嵌入在XML文件中時它會干擾XML文檔聲明,所以要禁止使用。第三種是asp.net的習慣寫法,第四種是JS、VBscript等腳本程序員喜歡的風格。一般出租的服務器,后三種風格標簽都是被禁止的,所以寫成后三種形式的可能導致php無法動態輸出。所以,建議最好使用第一種風格標簽。
