最近拉了個(gè) TinyHttpd 的工程下來(lái),不過(guò)好像各個(gè)都有些改動(dòng),最后挑了篇閱讀量最多的。工程也是從這里面給的鏈接下載的。
參考自:https://blog.csdn.net/jcjc918/article/details/42129311
拿下來(lái)在編譯運(yùn)行前,按這里說(shuō)的,需要有些修改:
1、Makefile 文件,如果直接執(zhí)行 make 的話,你會(huì)遇到這個(gè)錯(cuò)誤:cannot find -lsocket。
解決方法簡(jiǎn)單說(shuō)就是在 linux 系統(tǒng)中沒(méi)有這樣一個(gè)庫(kù),而且這個(gè)庫(kù)在 linux 中的實(shí)現(xiàn)位于 libc 中,編譯時(shí)被默認(rèn)包含,所以可以直接在 Makefile 中去掉 -lsocket。
2、在 htdocs 文件下,有 cgi 的程序和 html 代碼,cgi 是用 perl 寫(xiě)的,但文件中聲明的 perl 執(zhí)行程序位置在我這是錯(cuò)的,我這里 perl 腳本位于 /usr/bin 中(通過(guò)終端命令 which perl 可以查看),所以把 cgi 文件中的第一行改為:#!/usr/bin/perl -Tw
隨后,直接通過(guò)命令 make 編譯,然后 ./httpd 運(yùn)行生成可執(zhí)行文件。在瀏覽器輸入 localhost:端口號(hào) 便能看到網(wǎng)頁(yè)。
但我瀏覽器確啥也看不到,后面通過(guò)百度,看到有人說(shuō)
這是因?yàn)閕ndex.html文件權(quán)限的問(wèn)題,需要通過(guò)命令 chmod 666 index.html 修改權(quán)限。但是由于文件在虛擬機(jī)的共享文件夾里,所以沒(méi)法修改權(quán)限。于是索性把文件移到共享文件夾外,再執(zhí)行修改權(quán)限命令,網(wǎng)頁(yè)就出現(xiàn)了。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-446404.html
隨后,輸入顏色英文,提交查詢,但沒(méi)有效果,并在服務(wù)端報(bào) Can’t locate CGI.pm in @INC (you may need to install the CGI module)
解決辦法直接以下通過(guò)兩條命令安裝即可
sudo apt install libcgi-ajax-perl
sudo apt install libcgi-application-perl文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-446404.html
到了這里,關(guān)于TinyHttpd 運(yùn)行過(guò)程出現(xiàn)的問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!