0

我已经在我的 IIS(Windows Server 2008 SP2 x64)上安装了用 PHP 编写的 AjaXplorer(非常好的 Web 文件浏览器)。它对我来说太慢了。

可能是什么原因?php.ini 中有一些设置吗?或者,也许是 IIS 有问题?

我使用 32 位 PHP,php-cgi.exe 作为解释器。

问候,

4

1 回答 1

1

首先,CGI 总是很慢。它需要为每个请求启动整个 PHP 运行时。尝试使用 FastCGI(如果您使用的是 IIS 7,或者如果您使用的是 IIS 6)...

在那之后,试着看看为什么它很慢。是因为 PHP 脚本需要很长时间才能执行(这意味着它是代码问题),还是因为服务器配置。为了测试,将这里修改为 PHP 程序入口点的开头(index.php):

define(START_TIME_CUSTOM, microtime(true));
function onEndTimeCompute() {
    $timeTaken = microtime(true) - START_TIME_CUSTOM;
    echo "Completed In: ".number_format($timeTaken, 4)." Seconds\n";
}
register_shutdown_function('onEndTimeCompute');

写入Completed in n Seconds到生成输出的末尾(即使die()被调用)。如果期望 Ajax 调用返回 JSON,则可能会导致一些问题,因此通常不要这样做,只是为了弄清楚发生了什么。

所以,如果总请求需要 1 秒,但你看到Completed in 0.004 Seconds了,你知道 PHP 代码本身不是问题(它要么在 CGI 的解释器设置中,要么在 IIS 中的其他地方)......

这至少应该告诉你问题出在哪里......

于 2010-06-14T18:20:38.690 回答