![在 PHP bash 脚本中指定多个选项时出错](https://linux22.com/image/1192867/%E5%9C%A8%20PHP%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%8C%87%E5%AE%9A%E5%A4%9A%E4%B8%AA%E9%80%89%E9%A1%B9%E6%97%B6%E5%87%BA%E9%94%99.png)
#!/usr/bin/php -d register_argc_argv=1
...
在我的 PHP 脚本顶部,我有上述内容,并且运行良好。但是,我需要添加另一个-q
并将其更改为#!/usr/bin/php -q -d register_argc_argv=1
。
但结果却出现错误
The following text was generated during the delivery attempt:
------ pipe to |/home/user/email_pipe.php /home/user
generated by [email protected] ------
Error in argument 1, char 3: option not found
Usage: php-cgi [-q] [-h] [-s] [-v] [-i] [-f <file>]
php-cgi <file> [args...]
-a Run interactively
-b <address:port>|<port> Bind Path for external FASTCGI Server mode
-C Do not chdir to the script's directory
-c <path>|<file> Look for php.ini file in this directory
有什么想法吗?我的脚本有正确的 LF 结尾。
答案1
我找到了答案:#!/usr/bin/php -qd register_argc_argv=1
我很确定我在发布之前尝试过这个,但不知何故它给我的感觉是事情没有进展。
此外,根据我进一步的谷歌搜索,不支持多个参数
https://unix.stackexchange.com/questions/399690/multiple-arguments-in-shebang
希望这能帮助那些正在为电子邮件管道而苦苦挣扎的人