Php-fpm能否处理cli脚本?官方docker php里面发生了什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Php-fpm能否处理cli脚本?官方docker php里面发生了什么?相关的知识,希望对你有一定的参考价值。
我在我的php网站上使用官方Docker Php-fpm(https://github.com/docker-library/php/blob/master/7.2/alpine3.8/fpm/Dockerfile)和官方nginx Image。我已经将Nginx配置为通过端口9000与php-fpm通信。下面给出了docker的入口点。
#!/bin/sh
set -e
# first arg is `-f` or `--some-option`
if [ "${1#-}" != "$1" ]; then
set -- php-fpm "$@"
fi
exec "$@"
你可以看到当我们尝试执行像docker exec -it container whoami
这样的命令时,它的前缀是php-fpm
。
所以我的问题是当我传递PHP cli脚本时,例如docker exec -it container composer install
如何解释它? composer install
由php-fpm或php-cli(/ usr / local / bin / php)处理?
据我所知,作曲家是一个cli脚本,我安装如下,应该由php-cli处理。
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin -- --filename=composer
exec "$@"
仅在最初创建容器时执行一次在Dockerfile / Docker-compose文件中定义为CMD的命令。一旦容器启动并且你想在其上运行任何命令,那么来自docker exec
的命令不会覆盖那个CMD [“php-fpm”]
另外作曲家脚本使用php-cli而不是php-fpm。 https://github.com/dbjpanda/composer/blob/70557f3ab7b84a896179396509611fae66b19773/bin/composer#L4
以上是关于Php-fpm能否处理cli脚本?官方docker php里面发生了什么?的主要内容,如果未能解决你的问题,请参考以下文章
使用 nginx、PHP-FPM 和 docker 处理 PHP 文件时出现 403 错误
docker CLI官方教程 run方法解析(docer run docker attach 与 docker exec的区别)