我们有一个基本是静态的页面,其中包含一些PHP内容,每个内容都从我们的MSSQL数据库中提取数据。
有一个非常奇怪的问题,页面会随机停止渲染。这个问题是偶发的,并不总是可见的。有时页面加载正确,有时在到达文件末尾之前就停止了。
您可以看到问题所在的页面在戴夫:http://author.www.purdue.edu/discoverypark/climate/刺激:http://www.purdue.edu/discoverypark/climate/index.php
如果您反复刷新页面,您将有望看到问题。这个问题只存在于包含对数据库调用的页面上,但是大多数时候页面加载完全正常;只是有时它会停止输出页面。它已经打破了普通的html内部以及之前和php块。
这个问题在生产环境中似乎更糟;两者之间的唯一区别是数据源连接到DB。
在PHP、ODBC和MSSQL中有任何已知的问题吗?它显然与对数据库的调用有关,这些调用都是存储过程。会不会是数据源的问题?
我一直在"View Source"中看到这种情况:
& lt;div类="包装"比;& lt; a href = "/研究/冲程体积/"祝辞OVPR
例如,DEV中的localhost和PROD中的单独盒子之间的DB连接差异可能会改变问题的时间/频率,但几乎可以肯定是转移注意力…
虽然如果DB调用查找OVPR映像正在做一个死亡()…
可以肯定的是,如果您没有在数据库代码中每次调用odbc_*或mssq_*时都有10行错误处理,那么您就做错了,需要添加它。
PS从ODBC切换到mssql_*或sybase_*驱动程序或PDO::*并消除至少一个可能的竞争者应该是很简单的,如果以上都不成功的话。不过,我要再说一遍,数据库99%肯定是转移注意力的东西,一旦你追踪到真正的原因,你所做的事情将是显而易见的,我敢说很愚蠢……
确保代码中没有die或exit
Edit——如果有,删除它,并查看错误
是否检查了正常的调试方法?代码是什么样的——具体来说,是围绕ODBC调用的错误处理?你没有一个顶级的返回值或者一个错位的骰子(),是吗?
当我看到页面处于不呈现状态时,似乎是因为页面显然是不完整的,而且它是XHTML。
我看到它通常死在这里-
<a href="/research/vpr/">OVPR</a>
尝试提高错误报告级别,以便您可以看到任何可能在服务器级别被抑制的警告,错误和信息。
http://php.net/manual/en/function.error-reporting.php// Report all PHP errors
<?php error_reporting(-1); ?>