tinyhttpd安裝問題解決方案

爲了學習C的服務器編程知識,而tinyhttpd是一個很有名的例子,所以打算下載看看源代碼。

中途遇到許多坑,用博客記錄一下,希望能夠幫助到其他人。

第一個就是execl(path, NULL);

      報錯信息:這一句報錯,提示execl參數的第二個參數不能爲空。

      解決方案:把代碼改成execl(path,path,NULL)

第二個main函數中的accept函數報錯,函數的參數的類型錯誤

      報錯信息  client_sock = accept(server_sock,(struct sockaddr *)&client_name,&client_name_len);中的client_name_len;

      解決方案:這裏根據提示錯誤信息,就可以找到。報錯信息裏面包含了正確的類型,所以改一下類型就行了,例如我的         client_name_len本來是int類型的,提示我函數的參數應該爲unsigned int *類型的,所以把client_name_int改成unsigned int類型就行了。

第三個index.html的頁面在瀏覽器中不顯示,(權限問題)

      原因:這個是最坑爹的,我vmware虛擬機設置了共享文件夾,導致所有文件的讀寫執行權限都有,在linux中用chmod根本改不了權限,而index.html不能有執行的權限,chmod 600 index.html原本可以更改權限,由於文件在共享文件中,所以奏效不了。我嘗試在windows中更改權限,這個我試過,不太可能設置成600.

       解決方案:果斷移除到共享文件夾以外,然後執行chmod 600 index.html,index.html就出現了。

 

      

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章