PHP雖然不要編譯,但它真的寫完就能運作嗎?
PHP的一大特性是:腳本語言,一個腳本通常是解釋執行而非編譯。
PHP是解釋型語言,將PHP程式碼解釋為opcode之後再交由Zend引擎執行。 (推薦學習:PHP程式設計從入門到精通)
解釋型語言:程式不需要編譯,程式在執行時才翻譯成機器語言,每執行一次都要翻譯一次。
解釋型語言
在程式執行前將原始程式預先編譯成中間語言,然後再由解釋器執行中間語言每次執行解釋型語言的程式都需要一次編譯,因此解釋型語言的程式運作效率通常較低,而且它不能脫離解釋器獨立運作。 C#、PHP、Python、Java等都是解釋型語言。
但是真的寫完就可以運行?然而並不是。
PHP程式碼想要執行必須有個」母體」—就是我們編譯好的那個」PHP執行程式」。
在linux裡這個母體可能放在了/usr/local/php/bin/php
如何運作?
1./usr/local/php/bin/php 後面跟上某個PHP檔案
2./usr/local/php/bin/php -r '這裡直接寫上PHP程式碼'
3.建立一個文件,在第一行寫上#!/usr/local/php/bin/php
這樣就可以辨識這個文件是要PHP來運行(檔名不必.php結尾)
範例:
$ vi god
#/usr/local/php/bin/php<?php echo 'hello world!'.PHP_EOL;
以上是php為什麼不用編譯的詳細內容。更多資訊請關注PHP中文網其他相關文章!