【发布时间】:2011-03-09 11:37:35
【问题描述】:
我遇到了一个将 php 作为 fastcgi 运行的包装脚本,有人能解释一下脚本中发生了什么吗?
#!/bin/sh
exec /usr/bin/php5-cgi -c /etc/php5/cgi/php-fcgi.ini
【问题讨论】:
我遇到了一个将 php 作为 fastcgi 运行的包装脚本,有人能解释一下脚本中发生了什么吗?
#!/bin/sh
exec /usr/bin/php5-cgi -c /etc/php5/cgi/php-fcgi.ini
【问题讨论】:
第一行(sha bang或hash bang)设置解释器,在本例中/bin/sh是标准shell,这不一定是bourne shell。
该脚本可能用于使用自定义配置文件启动 php-cgi 会话。
-c 标志用于选择配置文件。 .
请尝试/usr/bin/php5-cgi --help 以获取有关可用标志的更多信息。
【讨论】:
/usr/bin/php5-cgi --help 以获取更多信息,这些信息似乎在使用 wampserver 的命令行上不起作用。
不多。它使用参数-c /etc/php5/cgi/php-fcgi.ini 执行/usr/bin/php5-cgi,即它指定了一个特殊的配置文件。
【讨论】:
脚本通过执行 usr/bin/php5-cgi -c /etc/php5/cgi/php-fcgi.ini 替换自身 (exec),保留 pid。
如果它不使用exec,那么无论是谁调用它都不会得到php5-cgi进程的进程ID。很可能此脚本旨在作为直接执行 php 的替代品,并且无论使用此脚本,都需要 php 进程的进程 ID。
【讨论】: