You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WolfiOS Docker镜像中PHP无输出及错误信息问题排查

调试WolfiOS Docker镜像中的Laravel应用:php artisan无输出且错误信息无法打印

我在调试WolfiOS Docker镜像里的Laravel应用时,执行php artisan没有任何输出(正常情况下应显示帮助信息):

/var/www/html # php -d "display_errors=On" -d "display_startup_errors=On" artisan
/var/www/html # 

已做的排查操作

  • 临时开启错误输出配置并验证生效
    原本PHP配置中display_errors是关闭状态,我通过-d参数临时开启,且确认配置已生效:
/var/www/html # php -d "display_errors=On" -d "display_startup_errors=On" -i |grep error
display_errors => STDOUT => STDOUT
display_startup_errors => On => On
error_append_string => no value => no value
error_log => /var/log/php_error.log => /var/log/php_error.log
error_prepend_string => no value => no value
error_reporting => E_ALL => E_ALL
html_errors => Off => Off
ignore_repeated_errors => Off => Off
log_errors => On => On
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
intl.error_level => 0 => 0
  • 修改PHP配置文件并验证
    我修改了PHP配置文件:
expose_php = Off
error_reporting = ${PHP_ERROR_REPORTING}
display_errors = On
display_startup_errors = On

验证配置生效:

/var/www/html # php -i |grep error
display_errors => STDOUT => STDOUT
display_startup_errors => On => On
error_append_string => no value => no value
error_log => /var/log/php_error.log => /var/log/php_error.log
error_prepend_string => no value => no value
error_reporting => E_ALL => E_ALL
html_errors => Off => Off
ignore_repeated_errors => Off => Off
log_errors => On => On
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
intl.error_level => 0 => 0
  • 测试错误文件与标准输出

    • 创建含语法错误的测试文件error.php,执行后无输出:
      /var/www/html # cat error.php 
      <?php
      
      echo "teststring
      /var/www/html # php error.php 
      /var/www/html # 
      
    • 确认STDOUT工作正常,创建无错误的noerror.php执行有正常输出:
      /var/www/html # cat noerror.php 
      <?php
      
      echo "no error" . PHP_EOL;
      /var/www/html # php noerror.php 
      no error
      
  • strace追踪发现异常相关记录
    用strace前缀执行命令时,发现与ContainerException相关的文件读取记录:

openat(AT_FDCWD, "/var/www/html/vendor/psr/container/src/ContainerExceptionInterface.php", O_RDONLY) = 4

核心疑问

我暂时不关注具体的业务错误原因(后续可自行排查),想知道为什么已经开启了所有错误报告配置,程序出错时仍无法打印任何错误信息?

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 10:33:21