使PHP-FPM成为PHP-CLI的替代品

时间:2017-12-09 16:33:17

标签: php linux

我有一个基于Centos 7 minimal的简约Web服务器,运行PHP-FPM 7.1。我需要从命令行(CLI)运行一些PHP脚本。我不是这些脚本的创建者,他们可以随着时间的推移而改变。 简单的解决方案是在服务器上安装PHP-Cli并完成它但是它似乎有点浪费,因为我已经拥有PHP-FPM(从命令行运行PHP-FPM也很有帮助)访问一些不在两个PHP版本之间共享的缓存。)

我知道我可以使用PHP-FPM从命令行执行文件,但我想知道的是,是否有可能创建一个bash脚本或其他东西,它可以充当如何从命令行运行PHP-Cli?因此,通常由PHP-Cli运行的所有内容都将由PHP-FPM运行,而无需在调用中进行任何特殊的自定义。

在我的示例中,我是否有一个已获得执行权限的文件,该文件以"#!/ usr / bin / php"开头。其余的是PHP。 例如,是否可以创建一个调用PHP-FPM并将其保存为/ usr / bin / php的脚本?一些问题是在调用PHP-FPM时自动添加所有需要的参数(SCRIPT_NAME,SCRIPT_FILENAME,QUERY_STRING,DOCUMENT_ROOT,REQUEST_METHOD等)

我希望你能看到我的目标,并且可以看到我的思维过程中的任何错误并回答主要问题。

以下是有关从命令行使用PHP-FPM的一些信息:https://easyengine.io/tutorials/php/directly-connect-php-fpm/

1 个答案:

答案 0 :(得分:1)

经过一些研究和测试后,我放弃了尝试使其与PHP-FPM一起工作,只需安装PHP CLI并将其与脚本一起使用。

我遇到的问题是你在使用PHP-FPM时无法设置/传递$ argv参数到php脚本。您只能设置get / post变量,因此创建的PHP脚本由PHP CLI运行,使用这样的参数,PHP-FPM无法从命令行运行。 如果您自己创建脚本,那么您可以围绕它进行构建,但如果您没有,并且不想修改它们,那么您就会陷入困境。