質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

0回答

2972閲覧

phpのエラーログがコンテナに標準出力できない。

uujh

総合スコア13

cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/07/01 14:25

編集2020/07/01 14:28

問題になっていること。

 php(php-fpm)で出力されたはずのエラーログがコンテナの標準エラー出力に表示されない。
nginx, php等の設定ファイルを確認いただき、追加で設定すべき内容、確認事項ありましたらアドバイスいただけますでしょうか。
よろしくお願いいたします。

事象

コンソールからcurlコマンドを実行すると以下のような値が返却されます。

console

1curl -i -X GET http://localhost:1234/hoge/test 2 3HTTP/1.1 500 Internal Server Error 4Server: nginx 5Date: Wed, 01 Jul 2020 13:52:39 GMT 6Content-Type: application/json; charset=UTF-8 7Transfer-Encoding: chunked 8Connection: keep-alive 9 10{"message":"Internal Server Error"}Error executing "Scan" on "http://localstack:4569"; AWS HTTP error: Client error: `POST http://localstack:4569` resulted in a `400 Bad Request` response: 11{"__type":"com.amazonaws.dynamodb.v20120810#ResourceNotFoundException","message":"Cannot do operations on a non-existent (truncated...) 12 ResourceNotFoundException (client): Cannot do operations on a non-existent table - {"__type":"com.amazonaws.dynamodb.v20120810#ResourceNotFoundException","message":"Cannot do operations on a non-existent table"}<br><pre>#0 /hogehoge/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php(97): Aws\WrappedHttpHandler->parseError(Array, Object(GuzzleHttp\Psr7\Request), Object(Aws\Command), Array) 13#1 vendor/guzzlehttp/promises/src/Promise.php(203): Aws\WrappedHttpHandler->Aws\{closure}(Array) 14#2 /hogehpge/vendor/guzzlehttp/promises/src/Promise.php(174): GuzzleHttp\Promise\Promise::callHandler(2, Array, Array) 15[internal function]: LineAgeAuth\App\Controllers\TestController->get() 16~~~~ 省略 ~~~~ 17#20 /hogehpge/public/index.php(50): Phalcon\Mvc\Micro->handle('/test?reques...') 18#21 {main}</pre>

しかし、dockerの標準出力には上記の内容は出力されません。
curlコマンドの実行結果である、{"message":"Internal Server Error"}まではアプリのレスポンスで任意で返却しているjsonになります。
{"message":"Internal Server Error"}のアプリから返却されたログは標準出力に表示されています。

ただ、以降表示されているログはコンテナの標準出力に表示されていません。
表示されていない部分のログはphpでexceptionが発生した場合、php.ini、php-fpm.com等で設定していれば、標準出力に表示されるはずのログだと認識しています。

ただ、コンテナの標準出力には何も出力されていない状況です。

現在のphp-fpm、php.ini、 nginxの設定です。

抜粋して記載してます。

php.ini

ini

1default_charset = UTF-8 2date.timezone = Asia/Tokyo 3 4memory_limit = 64M 5 6[error] 7error_reporting = E_ALL 8display_errors = Off 9display_startup_errors = Off 10;fastcgi.logging = 1 11;標準出力に出力 12error_log = /proc/self/fd/2 13; error_log = /var/log/php7/fpm.log 14log_errors = On 15 16[security] 17expose_php = Off 18

php-fpm.conf

conf

1 2error_log = /proc/self/fd/2 3 4log_level = notice 5 6daemonize = yes 7 8;events.mechanism = epoll 9include=/etc/php7/php-fpm.d/*.conf 10 11

www.conf

conf

1 2error_log = /proc/self/fd/2 3listen = /run/www.sock 4clear_env = no 5catch_workers_output = yes 6decorate_workers_output = no 7ping.path = /fpm-ping 8catch_workers_output = yes 9decorate_workers_output = yes 10 11

nginx.conf

conf

1 2worker_processes auto; 3pid /run/nginx.pid; 4 5events { 6 worker_connections 1024; 7} 8 9http { 10 include mime.types; 11 default_type application/octet-stream; 12 13 access_log /dev/stdout; 14 error_log /dev/stderr warn; 15 16 17 # Default server definition 18 server { 19 listen 8080; 20 server_name localhost; 21 charset utf-8; 22 23 autoindex off; 24 root /hogeegegege; 25 26 index index.php index.html; 27 28 29 location ~ .php(/|$) { 30 fastcgi_split_path_info ^(.+.php)(/.+)$; 31 include fastcgi_params; 32 fastcgi_pass unix:/run/www.sock; 33 fastcgi_param SCRIPT_NAME $fastcgi_script_name; 34 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 35 } 36 37 } 38 include /etc/nginx/conf.d/*.conf; 39} 40 41

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問