Ajaxplorer [написано в PHP] слишком медленно на IIS

StackOverflow https://stackoverflow.com/questions/3039485

  •  27-09-2019
  •  | 
  •  

Вопрос

Я установил Ajaxplorer (очень хороший веб-файл Explorer), написанный в PHP, на моем IIS (Windows Server 2008 SP2 X64). Это работает слишком медленно для меня.

Что может быть причиной? Есть ли настройки в php.ini? Или, может быть, что-то не так с IIS?

Я использую 32-битный PHP, PHP-CGI.exe в качестве интерпретатора.

С уважением,

Это было полезно?

Решение

Во-первых, CGI всегда будет медленным. Он должен загрузить все PHP Runtime для каждого запроса. Попробуйте использовать 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) ...

Это должно по крайней мере показать вам, где проблема ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top