shell命令的含义和htaccess文件?
问题描述:
#!/bin/sh
exec /usr/local/cpanel/cgi-sys/php5
该命令位于名为php.fcgi
的文件中。我不知道这是什么意思。shell命令的含义和htaccess文件?
AddHandler php-fastcgi .php
Action php-fastcgi /cgi-bin/php.fcgi
上述命令在.htaccess
文件中,它们的含义是什么。谢谢。
答
第一行定义文件将由命令/bin/sh
这是Unix shell执行。 下一行,shell命令exec
是一个参数,执行它并用该进程替换当前shell(即shell脚本将在该点停止)。
#!/bin/sh
exec /usr/local/cpanel/cgi-sys/php5
这意味着它是一个执行PHP5二进制文件的shell脚本包装器。
在.htaccess中的第一行定义了一个名为php-fastcgi
为以.php结尾的文件处理程序:
AddHandler php-fastcgi .php
第二行定义了处理器php-fastcgi
可以在位置/cgi-bin/php.fcgi
发现:
Action php-fastcgi /cgi-bin/php.fcgi
请注意,这不是文件系统的位置,而是URL路径,它由Apache进一步分析以查找实际的文件系统位置(ScriptAliases,别名等)。
所有这一切意味着.php
文件与上面的shell脚本一起执行,后者又运行PHP5二进制文件。