問題になっていること。
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
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
あなたの回答
tips
プレビュー