TinyWebServer
TinyWebServer copied to clipboard
常见问题与解决方案
大家在运行项目时遇到问题,优先查阅本lssue。
如果本issue不能解决你的问题,欢迎盖楼或直接公号私信我,我会尽快回复。
- 按照README的流程运行,本地编译通过,浏览器端却无法显示欢迎界面。
解决方案:使用云主机或云服务器时,需要开启对应端口。否则,会出现上述问题。
- server port报错,怎么回事?
解决方案:使用./server port运行,另外port不要使用的太小或太大,建议9000左右的闲置端口
- ./server port报错ERROR,更换了端口也没用,怎么回事?
解决方案:
本项目不是下载即用的,请仔细按照README步骤运行。
提前安装MySQL数据库,然后更新代码中的root和数据库信息。
- 完全按照README步骤修改了路径和数据库信息,也更换了几次端口,仍然显示ERROR
解决方案:数据库信息的"localhost"不要修改成“127.0.0.1”,只修改数据库登录名和密码即可。
- 将同步登录校验更换成cgi后,无法实现登录注册功能
解决方案:有时候会出现权限问题,此时通过sudo chmod +777 check.cgi开启权限即可
- ip地址和端口号如何指定?
解决方案:ip地址为本机地址,通过ifconfig查看或直接设置为localhost,端口号指定8000-10000左右
- make时出现mysql.h找不到的报错,mysql.h:没有那个文件或目录编译中断。
解决方案:缺少libmysqlclient-dev ubuntu:sudo apt-get install libmysqlclient-dev centos: yum install mysql-devel
- 如果mysql只能使用sudo登录,运行代码时,也必须加sudo,sudo ./server port
- 完全按照readme来,root和数据库信息完全正确,服务器可以正常启动,但浏览器端一直显示拒绝访问
解决方案:可能是mysql版本不一致,推荐使用5.7.29
- 浏览器端显示连接被重置
解决方案:这种情况一般都是root文件夹的路径没写对,cd进root文件夹,执行pwd命令,将返回路径复制过去即可
- centos7下使用mysql5.7.29编译不通过,显示找不到libmysqlclient.so,并报错多个未定义的引用。
解决方案:首先找到系统中原来的libmysqlclient.so文件所在路径,然后将/usr/local/mysql/lib/libmysqlclient.*复制到前述路径中,即可。
另外,如果可能在lib文件夹,也可能在lib64文件夹下。
- centos6下使用mysql5.6编译不通过,显示: CGImysql/sign.cpp:31: 错误:‘exit’在此作用域中尚未声明 CGImysql/sign.cpp:38: 错误:‘exit’在此作用域中尚未声明 CGImysql/sign.cpp:70: 错误:‘malloc’在此作用域中尚未声明
解决方案:在CGImysql/sign.cpp文件中,加入<stdlib.h >和<malloc.h>头文件即可。
在./server 之后 log里面是MYSQL ERROR
./build.sh后 在makefile15行出现错误
./build.sh后 在makefile15行出现错误
你好,请下载最新代码测试,注意修改数据库用户名、密码和库名称。
代码可以在windows下面编译运行么。。
您好,运行./server port 出现如下错误  方法的实现是否应该是:value = m_array[m_front + 1]; 而不是 value = m_array[m_front];
Q院强啊,star都1k了!^_^
在./server 之后 log里面是MYSQL ERROR
我也是这个,怎么解决鸭
你好,我用的是centos7,按照你说的yum install mysql-devel,前面步骤都一致,之后再sh ./build.sh,出现以下错误,想问一下什么原因?谢谢 / bin / ld:不能查找-lmysqlclient collect2:错误:ld返回1退出状态 make:*** [服务器]错误1
这个错误,我也遇到了,现在解决了。解决方式是,先安装lnmp(安装命令是wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp)。然后在Makefile里面添加上mysql的lib和include的路径 ... lib_path = -L/usr/local/mysql/lib/ header_path = -I/usr/local/mysql/include/ CFLAGS=$(lib_path) $(header_path)
server: main.cpp ./timer/lst_timer.cpp ./http/http_conn.cpp ./log/log.cpp ./CGImysql/sql_connection_pool.cpp webserver.cpp config.cpp $(CXX) $(CFLAGS) -o server $^ $(CXXFLAGS) -lpthread -lmysqlclient ...
在./server 之后 log里面是MYSQL ERROR
我也是这个,怎么解决鸭
同是这个问题呀?请问解决了吗?
你好,我用的是centos7,按照你说的yum install mysql-devel,前面步骤都一致,之后再sh ./build.sh,出现以下错误,想问一下什么原因?谢谢 / bin / ld:不能查找-lmysqlclient collect2:错误:ld返回1退出状态 make:*** [服务器]错误1
这个错误,我也遇到了,现在解决了。解决方式是,先安装lnmp(安装命令是wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp)。然后在Makefile里面添加上mysql的lib和include的路径 ... lib_path = -L/usr/local/mysql/lib/ header_path = -I/usr/local/mysql/include/ CFLAGS=$(lib_path) $(header_path)
server: main.cpp ./timer/lst_timer.cpp ./http/http_conn.cpp ./log/log.cpp ./CGImysql/sql_connection_pool.cpp webserver.cpp config.cpp $(CXX) $(CFLAGS) -o server $^ $(CXXFLAGS) -lpthread -lmysqlclient ...
不用这么麻烦 安装完 libmysqlclient-dev 或者 mysql-devel之后 那个.so文件在/usr/lib64/mysql目录下 添加环境变量就好 export LIBRARY_PATH=/usr/lib/mysql 这样gcc/g++就可以搜索到这个目录下的文件了 安装lnmp真的太久了哈哈
在./server 之后 log里面是MYSQL ERROR
我也是这个,怎么解决鸭
同是这个问题呀?请问解决了吗?
同问+1
@indigohana @zeroflycui @feyno
我猜你也是被readme误导了,main.cpp
的用户名和密码是登陆mysql用到的用户名和密码(也就是mysql -u root -p 所对应的),不是建表建的那个,修改一下,然后重新编译应该就没问题了
@indigohana @zeroflycui @feyno 我猜你也是被readme误导了,
main.cpp
的用户名和密码是登陆mysql用到的用户名和密码(也就是mysql -u root -p 所对应的),不是建表建的那个,修改一下,然后重新编译应该就没问题了
感谢感谢,之前一直用的是usr表里的新insert的自定义用户密码。
@indigohana @zeroflycui @feyno 我猜你也是被readme误导了,
main.cpp
的用户名和密码是登陆mysql用到的用户名和密码(也就是mysql -u root -p 所对应的),不是建表建的那个,修改一下,然后重新编译应该就没问题了感谢感谢,之前一直用的是usr表里的新insert的自定义用户密码。
然而我使用登录mysql的用户名和密码,也不能链接上mysql数据库,不知道是不是数据库的问题,但是我数据库可以正常登录操作。
@indigohana @zeroflycui @feyno 我猜你也是被readme误导了,
main.cpp
的用户名和密码是登陆mysql用到的用户名和密码(也就是mysql -u root -p 所对应的),不是建表建的那个,修改一下,然后重新编译应该就没问题了感谢感谢,之前一直用的是usr表里的新insert的自定义用户密码。
然而我使用登录mysql的用户名和密码,也不能链接上mysql数据库,不知道是不是数据库的问题,但是我数据库可以正常登录操作。
emmm我后来用了百度云上那个raw版本,mysql上填的是我insert到usr表里的用户名和密码,是没有报错的。