我嘗試在使用official php-fpm圖片的Docker容器中運行Yii based PHP application。爲什麼在寫入標準輸出時,PHP-FPM爲前綴寫入警告?
碼頭集裝箱將所有日誌消息寫入到stdout
/stderr
是很常見的做法。所以,我做同樣的從我的容器,它看起來像這樣的代碼:
$fp = @fopen('php://stdout','w');
fwrite($fp, $message);
fclose($fp);
不幸的是PHP-FPM現在前綴與醜陋的警告,我所有的日誌消息:
[3月21日-2016 14:10:02]警告:[pool www] child 12表示輸入stdout:「2016-03-21 14:10:02 [xxxx] [ - ] [ - ] [trace] [yii \ base \ Application :: bootstrap ]引導與yii \調試\模塊::引導()「 [21-Mar-2016 14:10:02]警告:[池www]兒童12說入標準輸出:」2016-03-21 14:10:02 [xxxx] [ - ] [ - ] [info] [yii \ web \ Session :: open] Session started「 ...
這是爲什麼,有沒有辦法阻止PHP-FPM做到這一點?
UPDATE:
- 我也在docker-library/php項目網站正式開通an issue。
- 他們已經在their configuration中包含
catch_workers_output = yes
。所以這不是解決方案。
我認爲這是一個常見的錯誤https://github.com/heroku/heroku-buildpack-php/issues/63它已在44版中修復,您能否確認? –
@HalayemAnis無法確認。正如你應該從問題描述中看到的,我不使用heroku。這更多的是一般的php-fpm的不當行爲。 –
您嘗試使用'php.ini'中的'catch_workers_output'選項?不知道這是否會起作用。 – Pitchinnate