shell命令含义和htaccess文件?

时间:2011-04-29 06:29:49

标签: linux apache shell

#!/bin/sh
exec /usr/local/cpanel/cgi-sys/php5

此命令位于名为php.fcgi的文件中。我不知道这是什么意思。

AddHandler php-fastcgi .php
Action php-fastcgi /cgi-bin/php.fcgi

.htaccess文件中的上述命令,它们的含义是什么。谢谢。

1 个答案:

答案 0 :(得分:1)

第一行定义该文件由命令/bin/sh执行,该命令是Unix shell。 下一行,shell命令exec是一个参数,执行它并用该进程替换当前的shell(即shell脚本将在该点停止)。

#!/bin/sh
exec /usr/local/cpanel/cgi-sys/php5

这意味着它是一个执行PHP5二进制文件的shell脚本包装器。

在.htaccess中,第一行为所有以.php结尾的文件定义名为php-fastcgi的处理程序:

AddHandler php-fastcgi .php

第二行定义可以在php-fastcgi位置找到处理程序/cgi-bin/php.fcgi

Action php-fastcgi /cgi-bin/php.fcgi

请注意,这不是文件系统位置,而是URL路径,Apache进一步解析该路径以查找实际的文件系统位置(ScriptAliases,Aliases等)。

所有这一切意味着.php文件是使用上面的shell脚本执行的,而shell脚本又运行PHP5二进制文件。