当前位置: 首页 > 知识库问答 >
问题:

docker php-fpm/nginx设置:php-fpm抛空500,无错误日志

王子明
2023-03-14

项目的吉特回购:https://github.com/tombusby/docker-laravel-experiments(撰写本文时的标题为823fd22)。

这是我的码头工人。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

我创建了一个新的laravel项目。如果我把index.php换成一个基本的回声“你好世界”;,如果我使用回声“称为”;退出();,我可以识别laravel的index.php确实会被处决。

它死在第53行:

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

我不知道为什么会发生这种情况,我已经尝试使用docker exec-it

下面是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扩展会产生的正确的错误日志。


共有2个答案

傅越
2023-03-14

如我所见,您的请求是由Mac运行的,是否在Mac上也设置了docker环境?如果是,您可以通过在php-fpm容器上运行bash,尝试写入公开的卷吗?(容器上的/var/www/html

廉雅惠
2023-03-14

根据我们在###php关于freenode的讨论。。。

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

您的选择是:

  • 在php中设置log_errors=On。ini
  • 在池配置中设置php_admin_flag[log_errors]=On(对于基于文件/usr/local/etc/php fpm.conf中的php:5.6-fpm的docker容器)
  • 或者可能在中设置log_errors=On。使用者ini(php的每目录配置,类似于.htaccess)
 类似资料:
  • 我的错误日志从nginx一直说: [错误]82305#0:*542243 connect()到unix:/var/run/php5 fpm。连接到上游时sock失败(146:连接被拒绝) 大约每30秒。然而,我的php-fpm日志在这个错误中没有显示任何内容。只有nginx显示日志。php-fpm的nginx配置如下: 编辑:刚刚为nginx和php fpm添加了完整配置: php fpm:

  • My/etc/php-fpm.d/www.conf 我的nginx/etc/nginx/conf.d/default.conf

  • 运行Nginx 1.17的Digital Ocean Ubuntu18.04 VPS。10 PHP-FPM7.3。我不知道如何正确运行PHP文件(其他一切都正常运行)php文件生成Nginx的404未找到页面。Nginx错误日志仅显示“信号处理已启动”每次更改后,我都会重新启动nginx fpm。我已经研究了几乎所有与此相关的StackOverflow问题,并尝试了各种不同的配置。如果您能提供任何

  • 我刚刚安装了nginx和php7。0-fpm在clear debian 9上运行,并尝试按标准方式进行配置,但当我尝试访问http://mysite/test.php我得到一张空白页。/var/log/nginx/error中没有任何错误。log或/var/log/php7。0-fpm。日志文件(我得到200个答案,但页面是空白的)。我的配置文件如下。。 /var/www/html/test。ph

  • 这是我的设置细节 Nginx。形态 默认情况下,我的conf文件包含可用站点和已启用站点 当我按我的域运行html文件时,它工作正常。 但如果我转到php文件,例如 它给出了nginx的502坏网关错误 出现问题时,Php5 fpm正在运行

  • 如果网站要写入某个目录,在我们搭建的环境里,你要确保运行 PHP-FPM 的用户对这个要写入的目录拥有写入权限。一般目录的拥有者对目录都有可以写入的权限。我们可以把运行 PHP-FPM 的用户修改成跟运行 NGINX 一样的用户,这样更好记一些。 先查看一下进程,看看运行 NGINX 的用户叫什么: ps aux | grep nginx 显示,运行 nginx: worker process