注意:使用未定义的常量 GLOB_BRACE

Par*_*Das 2 php docker opencart2.x ubuntu-16.04

获取以下通知和警告

注意:使用未定义的常量 GLOB_BRACE - 在第 2 行 /var/www/html/opencart/upload/admin/controller/extension/extension.php 中假设为“GLOB_BRACE”

警告:glob():第 41 行 /var/www/html/opencart/upload/admin/controller/extension/extension.php 中至少有一个传递的标志无效或不受此平台支持

警告:第 44 行 /var/www/html/opencart/upload/admin/controller/extension/extension.php 中为 foreach() 提供的参数无效

当我列出所有定义的常量时GLOB_BRACE丢失了。

GLOB_MARK => 2
GLOB_NOSORT => 4
GLOB_NOCHECK => 16
GLOB_NOESCAPE => 64
GLOB_ERR => 1
GLOB_ONLYDIR => 1073741824
GLOB_AVAILABLE_FLAGS => 1073741911
Run Code Online (Sandbox Code Playgroud)

操作系统,php,Opencart版本:

  • Linux opencart-77fcc87595-2gqvw 4.4.86+ #1 SMP 2017 年 12 月 7 日星期四 20:11:11 PST x86_64
  • Linux
  • 当前 PHP 版本:7.1.12
  • OpenCart 版本 2.3.0.2

我已经准备好阅读文档array glob ( string $pattern \[, int $flags = 0 \] )

我 100% 确定这不是 OpenCart 的问题

mad*_*low 6

因为这发生在我身上,作为一个以前的快乐glob用户:

正如上面的评论中提到的 -GLOB_BRACE在某些操作系统中不可用。例如流行的 Alpine Linux - 它在 Docker 容器中大量使用。Alpine Linux 使用 musl libc 而不是 GNU libc。

GLOB_BRACE解决方法是:当您想在 Alpine Linux 等上运行代码时,请勿使用。

当您使用提到的“OpenCart”时:有一些以PR形式出现的动作。