到目前为止,我的 CI 应用程序运行良好。
但是,我注意到当请求更长的SQL查询时(例如在显示大约50篇博客文章的主页上(,存在一个严重的问题。
有时页面加载正常。不可预测的是,当我重新加载同一页面时 - 内容没有变化 - 浏览器一直挂起,直到我返回Apache 500错误。这发生在多个浏览器上。
CI 错误日志不显示任何内容。PHP 错误日志不显示任何内容。
我注意到这不是较小查询(即 20 个帖子(的问题,但不确定它是否与问题有关,毕竟,它确实在某些尝试中下载了 50 个帖子。
我知道这很难详细解释,但如果有人能给我任何关于如何调试的指示,我将不胜感激。很高兴添加任何信息。
该应用程序在 Plesk 9 RHEL 服务器上运行,PHP 5.3.8、MySQL 5.5.17、CI 2.1.0。
PHP 错误日志文件
-rw-rw-r-- 1 apache apache 0 May 19 10:46 php_errors.log
PHP .ini 信息
error_log /var/log/php_errors.log /var/log/php_errors.log
log_errors On On
在此处使用 Spark 调试工具栏:http://getsparks.org/packages/Debug-Toolbar/versions/HEAD/show
然后观察您的查询加载时间,查看您的内存等。 慢慢地将你的帖子数量从 20 到 30 到 50 到 100 等,直到发生错误 - 看看是否有东西突出。
我怀疑 PHP 超时正在发生,要么是因为您将超时值配置为低(应该在 230 左右(,要么是因为您的查询编写得很差且效率低下,导致服务器花费太长时间才能返回具有较大查询的结果。