4

我正在使用 php 版本 7.2,但现在升级到 7.4 在生成 l5-swagger 时出现问题。我读了这个对我不起作用的stackoverflow qauestion

php artisan l5-swagger:generate
Regenerating docs

   ErrorException  : Trying to access array offset on value of type bool

  at /home/smartmobe/Projects/defence-new/server/vendor/zircote/swagger-php/src/StaticAnalyser.php:37
    33|             if (empty($GLOBALS['swagger_opcache_warning'])) {
    34|                 $GLOBALS['swagger_opcache_warning'] = true;
    35|                 $status = opcache_get_status();
    36|                 $config = opcache_get_configuration();
  > 37|                 if ($status['opcache_enabled'] && $config['directives']['opcache.save_comments'] == false) {
    38|                     Logger::warning("php.ini \"opcache.save_comments = 0\" interferes with extracting annotations.\n[LINK] http://php.net/manual/en/opcache.configuration.php#ini.opcache.save-comments");
    39|                 }
    40|             }
    41|         }

  Exception trace:

  1   Illuminate\Foundation\Bootstrap\HandleExceptions::handleError()
      /home/smartmobe/Projects/defence-new/server/vendor/zircote/swagger-php/src/StaticAnalyser.php:37

  2   Swagger\StaticAnalyser::fromFile()
      /home/smartmobe/Projects/defence-new/server/vendor/zircote/swagger-php/src/functions.php:41

  Please use the argument -v to see more details.
4

2 回答 2

2

zircote/swagger-php(发生异常的包)在3.0.3版本中已更新为支持 PHP 7.4 。如果你使用 Composer,你可以检查项目中包的当前版本,composer info zircote/swagger-php你可以使用composer update.

如果composer update不能解决问题,您需要检查您的composer.json允许darkaonline/l5-swagger版本是否高于 5.6.1,因为它仅从 5.6.2 开始支持 zircote/swagger-php:3. *

于 2019-12-03T07:30:23.837 回答
0

对于 Laravel >= 8 和最新版本的 L5-Swagger,您不需要扩展您需要在l5-swagger.php配置文件中添加 Web 中间件的路由(documentations/defaults/routes/middleware/api);

在此处输入图像描述

于 2021-10-29T12:25:08.090 回答