Docker Настройка php-fpm / nginx: php-fpm выбрасывает пустое значение 500, журналы ошибок отсутствуют

Git репо проекта: https://github.com/tombusby/docker-laravel-experiments (HEAD на момент написания 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(); Я могу определить, что часть index.php laravel выполняется.

Умирает в строке 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» практически ничего не делает, чтобы помочь мне понять, почему произошла ошибка, но я не могу найти какой-либо способ получения трассировки стека или что-то вроде правильных журналов ошибок, которые могло бы дать расширение php apache.

11

Решение

Согласно нашему обсуждению в ## php на freenode …

Ваша проблема в том, что для параметра php.ini «log_errors» установлено значение Off.

Ваши варианты:

  • set log_errors = On в php.ini
  • set php_admin_flag [log_errors] = в конфигурации вашего пула (для докера php:5.6-fpm это в файле /usr/local/etc/php-fpm.conf)
  • или, возможно, установите log_errors = On в .user.ini (конфигурация php для per-dir, похожая на .htaccess)
15

Другие решения

Как я вижу, ваш Mac выполняет запрос, настроена ли среда докера на Mac?
Если это так, можете ли вы, запустив bash на контейнере php-fpm, попытаться записать в открытый том? (/var/www/html на контейнере)

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector