Git repo del progetto: https://github.com/tombusby/docker-laravel-experiments (HEAD al momento della scrittura è 823fd22).Docker php-fpm/nginx set-up: php-fpm lancio vuoto 500, nessun registro errori
Qui è la mia finestra mobile-compose.yml:
nginx:
image: nginx:stable
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
volumes_from:
- php
links:
- php:php
ports:
- 80:80
php:
image: php:5.6-fpm
volumes:
- ./src:/var/www/html
expose:
- 9000
Into src/Ho creato un progetto laravel fresca. Tutto funziona correttamente se cambio index.php per uno con un valore base echo "hello world";
e se uso echo "called";exit();
posso identificare che parte di laravel's index.php viene eseguita.
muore in linea 53:
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
Non ho idea perché questo accade, e Ho provato con docker exec -it <cid> bash
per dare un'occhiata in giro il mio contenitore php-FPM per log di errore. Tutti i registri vengono reindirizzati a stderr/stdout (che viene raccolto dalla finestra mobile).
Ecco l'output che raccoglie finestra mobile:
php_1 | 172.17.0.3 - 06/May/2016:12:09:34 +0000 "GET /index.php" 500
nginx_1 | 192.168.99.1 - - [06/May/2016:12:09:34 +0000] "GET /index.php HTTP/1.1" 500 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" "-"
Come si può vedere "500" fa praticamente nulla per aiutarmi a capire perché c'è stato un errore, ma non riesco a trovare alcun modo di ottenendo la traccia dello stack o qualcosa come l'errore corretto registra che l'estensione php di Apache avrebbe prodotto.
sto affrontando un problema simile _very_ ... hai mai individuare la causa principale di il problema em? – chrisvdb
La risposta accettata risolverà il problema. La configurazione predefinita di php-fpm dal docker ufficiale iamge ha errori disattivati. Se provi ad abilitarlo con 'ini_set' o simili, php-fpm lo ignora. È necessario impostarlo nel file di configurazione php-fpm usando 'php_admin_flag [log_errors]'. L'ho fatto facendo in modo che il mio docker compose monti un file di configurazione di costom php-fpm sopra quello esistente come volume di sola lettura. –
Inoltre, se questa domanda descrive un problema che si sta verificando, i voti positivi vengono sempre apprezzati;) –