Git项目回购: https://github.com/tombusby/docker-laravel-experiments (撰写本文时的头部是823fd22)。
这是我的docker-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
进入src /我创建了一个新的laravel项目。如果我将index.php换成基本的一个,这一切都能正常运行 echo "hello world";
如果我使用 echo "called";exit();
我可以确定laravel的index.php的一部分确实被执行了。
它在第53行死亡:
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
我不知道为什么会这样,我尝试过使用 docker exec -it <cid> bash
浏览我的php-fpm容器以查找错误日志。所有日志都被重定向到stderr / stdout(由docker收集)。
这是docker收集的输出:
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" "-"
正如你所看到的,“500”几乎没有帮助我解决为什么会出现错误,但我找不到任何方法来获取堆栈跟踪或类似apache的php扩展所产生的正确错误日志。