了解 bourne shell 脚本
我遇到了一个将 php 作为 fastcgi 运行的包装器脚本,有人可以解释一下脚本中发生了什么吗?
#!/bin/sh
exec /usr/bin/php5-cgi -c /etc/php5/cgi/php-fcgi.ini
I came across a wrapper script to run php as fastcgi, could someone explain what is going on in the script?
#!/bin/sh
exec /usr/bin/php5-cgi -c /etc/php5/cgi/php-fcgi.ini
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
第一行(sha bang 或 hash bang)设置解释器,在本例中
/bin/sh
标准 shell,这不一定是 bourne shell。该脚本可能用于使用自定义配置文件启动 php-cgi 会话。
-c 标志用于选择配置文件。 。
尝试 /usr/bin/php5-cgi --help 以获取有关可用标志的更多信息。
The first line (sha bang or hash bang) set the interpreter, in this case
/bin/sh
the standard shell, this is not necessarily a bourne shell.The script is probably used to start a php-cgi session with a custom config file.
The -c flag is used to select a configuration file . .
try
/usr/bin/php5-cgi --help
for more information on available flags.不多。它使用参数
-c /etc/php5/cgi/php-fcgi.ini
执行/usr/bin/php5-cgi
,即指定一个特殊的配置文件。Not much. It executes
/usr/bin/php5-cgi
with the parameter-c /etc/php5/cgi/php-fcgi.ini
, i.e. it specifies a special configuration file.(
exec
),保留 pid该脚本通过执行
usr/bin/php5-cgi -c /etc/php5/cgi/php-fcgi.ini
来替换自身 它没有使用exec
,无论谁调用它都无法获取php5-cgi进程的进程ID。该脚本可能旨在作为直接执行 php 的直接替代品,无论使用该脚本,都需要 php 进程的进程 ID。The script replaces itself (
exec
), keeping the pid, by executingusr/bin/php5-cgi -c /etc/php5/cgi/php-fcgi.ini
If it did not use
exec
, whoever called it would not get the process ID of the php5-cgi process. Likely this script is intended as a drop-in replacement for executing php directly, and whatever uses this script needs the process ID of the php process.