我通常在我国家的一个热门论坛上浏览,但这种联系显然要慢得多。
稍后服务器崩溃,有时显示“Too many connections”错误,有时会下载forum.php源代码。
PHP不应该仅在服务器计算机上执行吗?我不明白服务器崩溃如何泄漏php源代码。这是一个非常严重的安全问题,我们应该如何防止这种情况?
以下是服务器的一些信息:
系统:Linux VM35 3.5.5-1.el6.elrepo.x86_64#1 SMP Thu Oct 4 15:44:44 EDT 2012 x86_64
服务器API:CGI / FastCGI
服务器:nginx / 1.2.8
更新:代码没有任何敏感信息,所以我在这里发布了php文件:forum.php
答案 0 :(得分:1)
如果在尝试连接MySQL服务器时出现Too many connections
错误,则表示all available connections are in use by other clients.
允许的连接数由max_connections
系统变量控制。从MySQL 5.1开始。当MySQL与Apache Web服务器一起使用时,它的default value is 151
可以提高性能。如果需要支持更多连接,请为此变量设置更大的值。
但这不应该“崩溃”整个服务器。 PHP代码没有泄漏问题来面对这种情况。
此外,如果您使用的是PHP源代码而不是forum.php文件生成的HTML,那么您应该检查Web服务器的日志,记住它发生的时间,因为那时它停止解析PHP代码
但是,只要有可能,应用程序就应该捕获这些错误,警告和通知,并以更友好的方式向用户显示。