我在Windows计算机上使用Docker,并且已经构建了一个docker-compose文件,该文件可以从Dockerfile中构建php映像。
docker-compose.yml:
php:
build:
context: .
dockerfile: Dockerfile
container_name: php
working_dir: /var/www
volumes:
- ./src:/var/www
ports:
- '9000:9000'
networks:
- test
Dockerfile:
FROM php:7.2-fpm-alpine
RUN docker-php-ext-install pdo pdo_mysql
COPY ./php/php.ini /usr/local/lib
如您所见,我正在尝试将自己的php.ini文件复制到我的php映像的/ usr / local / lib文件夹中。我不确定这是否是图像的正确路径,但是我要复制的php.ini文件来自Windows的php版本。 php7.2-fpm-alpine映像是linux的php版本。我不确定php.ini文件在Windows和Linux上看起来是否相同。但是,我的目标是增加我试图从前端传递给php的文件的文件大小限制(我正在执行视频上传)
我尝试了几件事,该副本是我到目前为止的最后一次尝试。我不确定我还能尝试什么。
问题是,无论我做什么,都无法确认max_file_size的设置。仍然存在错误,即文件太大。我不知道php.ini文件是否会全部处理
有人有想法吗?
答案 0 :(得分:0)
要与Docker一起玩,您必须了解很多OS知识,这就是为什么掌握它的开发人员称为devops的原因。
作为总结,您首先必须知道安装了什么,对于您的php:7.2-fpm-alpine,可以在github上的构建中找到详细信息:https://github.com/docker-library/php/tree/master/7.2
访问dockerfile并查找php.ini,您将找到以下行:
ENV PHP_INI_DIR /usr/local/etc/php
但是无论如何,您几乎总是必须连接到容器中以验证事物或测试东西,而且还因为它总是更快。
因此以下命令将为您提供很多帮助:
winpty docker-compose exec php //bin//bash
在Windows上winpty是必需的,因为双斜杠,至少如果您将Git for Windows用作终端,我对其他人一无所知。 “ php”是您在docker-compose文件中条目的名称。
最后,如果您是从docker等开始的,我建议使用apache的mod-php,它比使用nginx的php-fpm容易安装,考虑到apache的php-fpm毫无意义。