为什么前一天能看的网页第二天就出现网关错误什么怎么解决

常见的错误集合解决方案(一)

問题描述:将QVTKWidget插件的dll放到Qt下面但是出现了一个现象,就是Release下面可以生成并运行但是Debug下面死活运行不了,程序启动不了(但是可以生成荿功)

第一:检查是否包含了VTK下面的bin文件是否在VS中配置;

第二:如果配置了还是不行那就注意了,因为下载的PCl中的VTK并不支持Qt的可视化僦必须要自己下载VTK的源码进行CMake编译,具体的编译见链接编译完了我们会得到支持Qt的可视化版的“进化态”的VTK;

第三:因为需要将Qt和VTK结合嘛,我们的程序可以生成表示代码没问题但是执行的时候出现问题,表示程序启动然后在链接动态库的过程中出现了问题所以找到原來的VTK目录下的bin目录中的一个叫vtkGUISupportQt-8.1.dll的文件,将我们CMake编译的VTK中的Debug下的该文件复制覆盖原来的这个即可然后就可以执行得到界面了

后续问题:这裏出现了另外的一个问题,就是加入了DLL插件后有时候在VS中打开UI文件时,出现无法打开的问题这里暂时的解决是先把DLL插件从文件目录下迻除,就可以打开了但是这时点击去打开的UI是没有QVTK的窗口的,这是一个不好的问题但是把release下的dll放在Qt下面又是可以打开UI界面的,但是放Debug嘚dll到Qt下面就会出现问题目前不知道为啥会出现这个

问题描述:在打开别人的工程或者打开网上下载的工程的时候会出现无法打开moc_xxxx.cpp和qrc_xxxx.cpp文件?

问题解决:首先确定下这两个文件都是什么文件一般来讲这些文件都是在VS下的Qt编程的时候出得到的生成文件,一般都是在Generated Files中如下:

泹是在有些时候这几个文件是无法打开的,下面一个个文件来说明下怎么解决:

① ui_xxx.cpp无法打开:这个文件是和UI界面联系的h文件右键重新编譯UI即可

② moc_xxxx.cpp无法打开:点击和这个cpp文件相对应的.h文件,然后右键编译即可得到

③ qrc_xxxx.cpp无法打开:这个文件是和资源文件相关联的cpp文件找到对应嘚资源文件,然后右键编译即可得到

遇见这种问题一般都是空指针即:指针里没有赋值。如果你对null 进行操作就会产生空指针异常

可以从Φ发现之前的代码由于是VTK5.10.1版本写的可以正常运行,但是在VTK6之后的版本VTK采用了工厂模式,而工厂模式需要“自动初始化”具体取决于茬VTK配置时启用哪些模块。如果您启用所有模块并在不使用CMake的情况下构建项目,则需要在项目中进行一些定义以使工厂正常工作。

9月10号, 2013有一个新的宏添加进来,可以让这个过程更加简单

在源文件头部添加代码:

十、Qt中建立了QVTKWidget插件后,鼠标点击就会崩溃

问题描述:在Qt的UIΦ拖了一个QVTKWidget的插件但是在启动启程后出现鼠标点击该控件窗口就会导致程序崩溃

问题分析:1、因为用到了VTK的可视化功能,必须在程序的Φ有该部分的初始化

2、因为下载PCL1.8.1中的VTK并不支持Qt所以需要重新编译VTK,然后编译的VTK是否和原来的VTK发生的冲突呢

需要初始化关于VTK插件,也就昰起码的包含相关的头文件、include相关的.h的路径基本的如下:

以及对应的模块初始化:

关于这里的模块初始化可以看下前面的第十条

2、关于PCLΦ原版本的VTK和编译的新的VTK的包含问题

关于这个包含的bin文件到底是该包含那个呢,如果包含错了就会出现问题的

提供下这里的解决方案:

把編译VTK里面的bin文件夹下的dll文件全部覆盖掉原来的VTK的dll(覆盖之前先把原来的文件夹copy份)

其实这里有种方法是不覆盖也可以的dll文件是程序执行過程中需要链接的动态库,

第一我们可以在环境变量中去添加编译的VTK的bin文件路径(应该要删掉原来的VTK路径,没试过记得添加后重启电腦)

第二,我们可以在上面的附加包含目录中去把编译的VTK的bin文件路径也包含进去(要不要都包含还是只包含一个即可,没试过)

下面的昰测试下这两个bin文件的包含问题:

① 测试在附加包含目录下面包含两个bin文件启动程序,鼠标点击VTK控件报错:

原因分析:因为在系统环境变量中并没有新编译的VTK的bin路径,导致启动后去链接的时候并没有链接到dll结果就报错了(因为配置环境变量需要重启电脑,并没有试过猜测是这样的)

② 只包含新编译的bin文件路径

报错,报错位置和上面一样

③ 都不包含全靠环境变量去链接

报错,报错位置和上面一样

④ 添加新编译的VTK的bin文件路径到环境变量中去但是呢,不删掉原来的VTK的bin路径

报错报错位置和上面一样,估计还是需要讲原来的VTK的bin文件路径刪掉才可以的

⑤ 添加新编译的VTK的bin文件路径到环境变量中去删掉原来的VTK的bin路径

测试ok,包含的原来的VTK的lib文件也可以删掉(不删掉好像也是可鉯的)

总结:第一需要新编译的VTK的bin文件里面的dll来作为支撑,第二需要在环境变量中去配置好bin的路径

十一、加入QVTK插件后无法在release模式下打開程序

问题描述:在Qt中加入QVTKWidget插件后,debug模式下可以正常的运行但是在Release模式下无法启动运行,如图:

问题分析:应该是在Release模式下包含了debug的库或是应该包含支持Release模式下的dll,但是没有包含

第一:先看看Release模式下的exe的需要的dll有哪些

主要是看下第三方库的情况也就是PCL、VTK的库,在配置Φ没看出来什么问题跟踪到问题还是出在了QVTKWidget上,因为用到了可视化工具还是出在了这个插件上了,如图:

方案1:解决的办法是在环境變量中添加了Release的bin路径而且路径是放在了Debug的bin路径前面,但是这样添加后就会导致Debug模式下无法运行了

方案2:添加环境变量Release放在Debug后面,但是這样就还是导致在VS里面是无法打开Release模式的,所以就得找到Release模式下生成的EXE需要支持的DLL文件了然后将这些dll文件全部放在exe同目录下面即可运荇了

总结:推荐采用方案2,这样都可以运行

PS:其实还有种方案可以尝试下,包含的lib文件是分debug和release的可以将两者单独分开来放在两个不同嘚文件夹下,然后在debug下包含debug模式的在release下包含release模式的;同理包含的bin文件也是分为debug和release的,一样的方式分两个文件夹分别包含但是这里有一點需要考量的就是系统环境变量中设置的是debug模式在release模式的前面,不知道这样的设置会不会有影响(因为系统变量会先起到链接作用即使茬VS下面去分别包含了)

十二、Qt的.ui文件在VS中无法生成ui_xx.h文件的解决办法

问题描述:在用到别人的工程的时候,有时候可能会出现无法生成ui_xx.h文件.UI文件有,但是没有.h文件

问题解决:首先尝试”第八条“解决方式,如果还是无法得到ui_xx.h那么就参照如下的:

看看工程中的ui文件的属性,如下:

最开始的“项类型”是不参与生成的那么不参与生成肯定就不会有.h文件了,改为“自定义生成工具”

需要在上面的几个参数项Φ填一些东西:

其中上面的Qt路径ui_xxx.h路径根据自己的来

然后应用---》右键ui文件编译即可

问题分析:出现这样的问题像其他的我们还可以去找下無法解析的函数在哪里,然后逐步的去解决(一般就是没有链接到DLL或是lib文件了)但是在这里的QT中出现的这个问题,首先你都定位不到这個类的函数在哪里出现这个问题一般就是Qt里面的moc_XXX.cpp出现了问题,如下:

这两个文件是跟着UI文件一起生成的一般就是在Generated Files文件夹下,然后当峩们使用别人的工程时候第一,可能会丢失这些moc_XXX.cpp或qrc_XXX.cpp文件具体的找回来方案见“方案8”;第二,我们打开工程在Generated Files可以看到这些文件,洏且还可以双击打开文件但是我们还会报错呢,注意了这个时候看看文件前面有没有一个红色的“-”,这个时候我们可以双击打开泹是文件是并未加载到我们工程的,解决办法就是先讲文件移除然后重新加载进来即可了。

十四、出现kdtree无法解析的问题

问题描述:在项目中用到了八叉树的类但是却出现了无法解析的问题,但是代码并没有标红的而就是无法生成

问题描述:明明好好的工程,但是突然咑开就各种标红

然后重新编译就报了上面的问题,这种问题主要是moc文件出现了问题

然后重新编译就报了上面的问题,这种问题主要是moc攵件出现了问题

双击moc文件,发现无法打开这个文件本来应该是跟着UI生成的文件,在本地的工程下也无法找到该文件那么

重新把这个攵件生成出来就可以了,具体的方法见问题八

十六、boost文件里面的错误“不是std成员”错误

问题描述:在工程中生成时报上图错误,开始以為是PCL里面的boost库文件和C++里面的某些库文件发生了冲突后来发现是

包含的库文件的路径发生了错误,

打个简单的比如如下的路径是boost在PCL中的蕗径:

然后我们如果在vs里面的配置库目录的时候一直配到了boost这里,但是我们的工程头文件中要是出现了这样一个

但是不会有路径boost这样的話要么将头文件的boost去掉,要么包含到boost的上一级目录即boost-1_64即可(推荐这种,

因为很多头文件在pcl的文件中有包含的)

错误描述如下在编译UI文件的时候报错msb6006,首先理清楚为什么会编译ui文件失败,导致ui文件失败的最直接的原因就是moc_xx.cpp文件和ui_xx.h文件找不到导致的还就是qrc_xx.cpp文件找不到导致的,如下的几个文件无法找到:

同时这几个文件也出现了确实无法打开的尴尬情况(双击无法打开)但是这几个文件在本地啊,为什么无法打开右键也无法编译呢,这就涉及到Qt的版本问题以及给的编译路径的问题了因为电脑里面装了32位的Qt和64位的Qt,这里的这个功能是需要32位的Qt来编译的但是我给的链接编译器的是64位的Qt,所以就会出现无法编译的问题如下:

上面D盘的Qt就是64位的,理论上之前也是可以的但昰后来把5.6.3版本的这个Qt卸载了,也找不到路径了更是会报错的,然后将该路径改为32位的Qt版本如下:

上面改动的说明情况介绍见“问题八囷问题十二”

  • IE提示当前安全设置不允许...

  • 谷歌浏覽器提示您的连接不...

  • 怎么设置打开ie浏览器新页...

  • 电脑时间同步出错怎么办

  • 电脑无法同步网络时间怎么...

打开网址提示502 gateway错误出现这个错误是提礻网络访问链路异常。可分为服务器端和用户端问题本经验简单演示一下怎么检查客户端的配置。一起来看看怎么处理

  1. 502 gateway错误首先看看502错誤是什么根据百度百科说明可以看到是网站到客户端的链路网关路由异常导致

  2. 502 gateway错误服务端服务器要解决这个问题,找到nginx配置的路径然後找到nginx所在的error日志文件查看具体原因

  3. 客户端浏览器配置问题360浏览器为例,出现类似错误可能是设置了代  里导致的

  4. 找到360浏览器右上角,设置d理配置是不是勾选了

  5. 去掉浏览器代里之后,再访问刷新可以访问了

  6. edge浏览器配置找到edge浏览器,找到右上角选项更多连接设置

  7. 然后点擊代li连接设置,打开IE的服务器带里即可

  8. IE浏览器的配置对于IE浏览器,找到工具栏---internet 选项进入internet选项配置

  9. 然后点击连接设在,找到局域网连接設置关闭代li设置

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。

作者声明:本篇经验系本人依照真实经历原创未经许可,谢绝转载

不管是企业还是个人站长在遇到網站突然打不开提示

的现象时都会显得十分着急,这到底是什么原因导致的网页出现502 bad gateway什么意思?该怎么解决等一系列问题随之而来。


502 Bad gateway的意思是指错误网关;无效网关;在互联网中表示一种网络错误表现在WEB浏览器中给出的页面反馈。而这一般是由于网站服务器自身引起的如果不是网站主或者管理员,无需理会一般会自动恢复。而在百度官网则给出的解释是Web服务器作为网关或代理服务器时收到无效的响應“bad gateway”百度翻译是错误的网关。其实简单理解就是运行网站的服务器暂时不响应了

二、那么网页遇到502 bad gateway应该怎么解决呢?

首先我们要先叻解一下产生502 bad gateway错误的一些原因才能对症下药,找到好的解决方法

一般网页出现502 bad gateway这种情况时,往往都是网络连接超时才出现的问题当峩们向服务器发送请求时,由于服务器当前链接太多导致服务器方面无法给于正常的响应,产生此类报错。如果是这种情况的话可尝试以丅几种方法来解决

①基本刷新:就是点击刷新或者使用F5快捷键

基本刷新只是从本地的硬盘重新拿取数据到浏览器,并不重新向服务器发絀请求大部分用户很多时候都是这样刷新的,遇到502 bad gateway报错的就没有任何效果

②从服务器刷新:如果你重新直接点击你想要浏览的网页链接,你会发现显示"502 bad gateway"错误信息的页面在点击链接后又可以正常浏览

当点击想要浏览的网页链接的时候,是会从服务器重新下载数据的解決方法就是从服务器上刷新:快捷键 ctrl+F5,这样就是重新向服务器发送请求了如果服务器能正常给予你响应你就可以看到页面了。

2、如果你所做的事情不是很着急的话可以等待服务器自动恢复

3、如果以上方法都解决不了的话,这个时候你就要找网站技术来解决这个问题

①查看当前的PHP FastCGI进程数是否够用

如果实际使用的"FastCGI进程数"接近预设的"FastCGI进程数",那么说明"FastCGI进程数"不够用,需要增大

②部分PHP程序的执行时间超过叻Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间

网站打不开,出现错误代码“502 bad gateway”一般都是php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉。

以上就是小薇为各位整理的关于遇到网页出现502 bad gateway的理解以及遇到502 bad gateway这种情况的解决方法。希望有需要的朋友们遇到这种情况的时候以上所介绍的几种解决方法能帮助到你如果亲们有服务器租用或者托管需求随时联系小薇,提供技术协助等服务


我要回帖

更多关于 出现网关错误什么怎么解决 的文章

 

随机推荐