2012-09-20 34 views
3

試圖學習PHP和一個更有經驗的開發人員對我的PHP腳本進行了一些修改,但我沒有得到opp來問什麼「#!」在我的PHP腳本中的路徑旁邊?這個坐落在PHP文件的最頂端是我工作:#是什麼!意味着在Php腳本路徑之前?

#的/ opt/local/bin目錄/ PHP

任何幫助/方向將不勝感激。

問候。

+0

[爲什麼在URL中使用感嘆號? [關閉]] [1] [1]:http://stackoverflow.com/questions/4376719/why-exclamation-is-used-in-urls – Ben

+0

即不PHP,它是一個外殼命令對於linux系統。我猜這是針對CLI的。 – Daniel

+0

感謝您的回覆。 – Melinda

回答

4

這是告訴Linux使用/opt/local/bin/php上的應用程序運行腳本代碼的一種方式。如果您將PHP作爲Apache的插件運行,您可以使用<?php ?>標籤來識別PHP代碼。

+1

謝謝你的回覆。 – Melinda

+2

」標籤用於標識PHP代碼也是「獨立」解釋器所必需的。任何沒有被他們包圍的東西都會被引導到STDOUT。 – lafor

+0

@梅林達不客氣! :) – Leonard

2

它被稱爲認領看到Wikipedia

在類Unix系統中,當有家當的腳本運行 作爲一個程序,程序加載器解析腳本的 初始行的其餘部分作爲口譯員指令;將運行指定的解釋程序 ,並將其作爲參數傳遞給嘗試運行該腳本時最初使用的路徑 。[11]

3

維基百科解釋它相當簡單:Shebang (unix)

在類Unix系統中,當有家當的腳本運行 作爲一個程序,程序加載器解析腳本的 最初的休息作爲口譯員指令;將運行指定的解釋程序 ,並將其作爲參數傳遞給嘗試運行該腳本時最初使用的路徑 。[11]例如,如果 腳本的名稱與路徑「路徑/到/腳本」,並將其與 啓動以下行:

#!/bin/sh

然後程序加載器被指示運行該程序「/ bin/sh「 (通常這是Bourne shell或兼容shell), 將」path/to/script「作爲第一個參數。 因爲「#」 字符是許多腳本語言中的註釋標記,所以shebang行通常會被解釋器忽略;某些 不使用哈希標記開始註釋 (如Scheme)的語言解釋程序仍然可能會忽略該shebang行,以表示 其用途。[12]