_docker-compose
_を使用して最小限のnginx
+ _php-fpm
_アプリケーションをセットアップしていますが、何らかの理由でDockerコンテナにphp.iniファイルがありません(phpinfo()
はLoaded Configuration File: (none)
)と言います。
これが私の_docker-compose.yml
_ファイルです。
_web:
image: nginx
ports:
- "8080:80"
volumes:
- ./site.conf:/etc/nginx/conf.d/site.conf
links:
- php
php:
image: php:5-fpm
volumes:
- .root:/var/www/html:ro
command: bash -c "apt-get update && apt-get install -y php5-mysql && php-fpm"
_
_site.conf
_も非常に簡単です。
_server {
index index.php;
server_name local.myspicesage.com;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
_
そして最後に、最も基本的な_index.php
_を用意しました。
_<?php
echo phpinfo();
_
必要がない場合は、最初からやり直したくありません。 _php:5-fpm
_ Dockerイメージに含まれるphp.iniファイルがあるはずですか?そうでない場合、最初に使用できる一般的なファイルはありますか?
Php.iniファイルを追加する必要があります。
docker run -d --name php-tmp php:5-fpm
docker cp php-tmp:/usr/src/php.tar.xz。
compose_root/php/php.ini-development
Phpコンテナーのphp.iniでボリュームを追加します
ボリューム:
コンテナには_/usr/local/etc/php/conf.d
_もあり、そのディレクトリ内のすべての構成ファイルを読み取って解析します。
まだLoaded Configuration File => (none)
と表示されますが、alsoは_Additional .ini files parsed
_と表示されることに注意してください。そのディレクトリを歩いていると、さまざまなファイルが表示されます。コンテナはそこに置きます:_docker-php-ext-XXX.ini
_。 (つまり、_(none)
_ ...)と言っても誤解を招きやすいです
次のようなことをすると便利です:
_ php -r 'phpinfo();' | grep -i conf
_
...この場合、PHPの大量の出力で、文字列conf
を(大文字または小文字で)含む行のみが非常にすばやく表示されます。