Первая строка определяет, что файл должен быть выполнен командой /bin/sh
, которая является оболочкой Unix.
В следующей строке команда оболочки exec
является аргументом, выполняет его и заменяет текущую оболочку этим процессом (т. Е. Сценарий оболочки остановится в этой точке).
#!/bin/sh
exec /usr/local/cpanel/cgi-sys/php5
Вместе это означает, что это оболочка сценария оболочки для выполнения двоичного файла PHP5.
В .htaccess первая строка определяет обработчик с именем php-fastcgi
для всех файлов, заканчивающихся на .php:
AddHandler php-fastcgi .php
Вторая строка определяет, что обработчик php-fastcgi
можно найти в расположении /cgi-bin/php.fcgi
:
Action php-fastcgi /cgi-bin/php.fcgi
Обратите внимание, что это не местоположение файловой системы, а путь URL, который далее анализируется Apache для определения фактического местоположения файловой системы (ScriptAliases, Aliases и т. Д.).
Все это вместе означает, что .php
файлы выполняются с помощью вышеуказанного сценария оболочки, который, в свою очередь, запускает бинарный файл PHP5.