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就出现了。

 

      

 

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