gpt4 book ai didi

php - Docker php-fpm/nginx 设置 : php-fpm throwing blank 500, 没有错误日志

转载 作者:IT老高 更新时间:2023-10-28 12:43:10 28 4
gpt4 key购买 nike

项目的 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 项目。如果我用基本的 echo "hello world"; 将 index.php 换成一个,这一切都会正常运行如果我使用 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 扩展的正确错误日志的方法已经生产了。

最佳答案

根据我们在 freenode 上##php 中的讨论...

您的问题是 php.ini 设置“log_errors”设置为关闭。

您的选择是:

  • 在 php.ini 中设置 log_errors=On
  • 在您的池配置中设置 php_admin_flag[log_errors]=On(对于基于文件 /usr/local/etc/php-fpm 中的 php:5.6-fpm 的 docker 容器.conf)
  • 或可能在 .user.ini 中设置 log_errors=On(php 的 per-dir 配置,类似于 .htaccess)

关于php - Docker php-fpm/nginx 设置 : php-fpm throwing blank 500, 没有错误日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37072843/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com