2012-04-09 116 views
4

確定。所以,讓我們以PHP爲例。設置服務器端解釋器

  • 我在瀏覽器中輸入一個URL,請求一個php腳本。 (例如http://www.somedomain.com/index.php
  • 瀏覽器發送該請求到適當的服務器。
  • 服務器承認 - 通過其擴展名(.php) - 這是一個PHP 文件。
  • PHP解釋處理文件並輸出該結果。
  • 服務器發回輸出

現在,假設我們正在處理一個......自制的解釋器XYZ(及其二進制等),處理例如與.xyz文件。

我應該怎麼做,所以上述所有內容對我的XYZ解釋器都有效?

我應該如何設置這整個事情了,所以它正常工作?


提示:我不要求對如何編寫一個解釋的幫助,但如何使其功能上述方式...

+0

首先閱讀您的網絡服務器的文檔,瞭解如何爲所需的任何文件類型添加新的「處理程序」。除此之外,你的問題是無法回答的。瀏覽器與此無關,因爲您正在處理純粹的服務器端代碼。 – 2012-04-09 17:00:29

+0

你需要配置Apache或任何Web服務器來告訴他們:「嘿,這是一種新語言,XYZ,這裏是你如何解釋它,並使用XYZ和以.xyz結尾的文件」。這不是一件容易的事。 – gosukiwi 2012-04-09 17:00:57

+0

你的問題似乎不太清楚。解釋器是PHP兼容的,Web服務器軟件還是一些Apache /其他插件? 我猜它輸出像PHP一樣的HTML嗎? – q3d 2012-04-09 17:01:49

回答

1

這完全取決於什麼網站你正在使用的服務器。但是,如果這是Apache,則應該查看apxs以構建和安裝自己的apache模塊。谷歌將幫助您找到關於apxs的在線教程。

對於添加處理特定文件的結尾,你應該做這樣的事情在你的Apache配置(後您的iterpreter/Apache模塊構建):

AddHandler my_handler .end 
+1

我只想添加一件事......您可以使用CGI或FastCGI方式,但是:如果您想要街道信譽/ geek cred,用apxs構建你自己的模塊是最棒的!!!。:!!!!:! – 2012-04-09 20:12:24

2

你的選擇是要麼使用現有的,標準接口和編寫你的軟件以符合它,或爲服務器編寫一個新的模塊。

對於前者,CGI很簡單,但效率不高,而FastCGI是更現代的,但相對複雜。

如果你想要寫一個新的模塊,那麼具體將取決於你所處理的服務器上。