phpDocumentor: Unable to generate documentation with php:alpine

When I run:

docker run --rm -v $(pwd):/app instrumentisto/phpdoc \
        -f modele/AccesBDD/GestionBDD.php -t ./sortie

Result:

Collecting files .. OK
Initializing parser .. OK
Parsing files
Parsing /app/modele/AccesBDD/GestionBDD.php
Storing cache in "/app/sortie" .. OK
Load cache                                                         ..    0.017s
Preparing template "clean"                                         ..    0.008s
Preparing 17 transformations                                       ..    0.000s
Build "elements" index                                             ..    0.000s
Replace textual FQCNs with object aliases                          ..    0.001s
Resolve @link and @see tags in descriptions                        ..    0.000s
Enriches inline example tags with their sources                    ..    0.000s
Build "packages" index                                             ..    0.000s
Build "namespaces" index and add namespaces to "elements"          ..    0.000s
Collect all markers embedded in tags                               ..    0.000s
Transform analyzed project into artifacts                          ..
Applying 17 transformations
  Initialize writer "phpDocumentor\Plugin\Core\Transformer\Writer\FileIo"
  Initialize writer "phpDocumentor\Plugin\Twig\Writer\Twig"
  Initialize writer "phpDocumentor\Plugin\Graphs\Writer\Graph"
  Execute transformation using writer "FileIo"
  Execute transformation using writer "FileIo"
  Execute transformation using writer "FileIo"
  Execute transformation using writer "FileIo"
  Execute transformation using writer "FileIo"
  Execute transformation using writer "twig"
  Execute transformation using writer "twig"

Warning: file_put_contents(/app/sortie//): failed to open stream: Is a directory in phar:///usr/local/bin/phpdoc/src/phpDocumentor/Plugin/Twig/Writer/Twig.php on line 117
  Execute transformation using writer "twig"

Warning: file_put_contents(/app/sortie//): failed to open stream: Is a directory in phar:///usr/local/bin/phpdoc/src/phpDocumentor/Plugin/Twig/Writer/Twig.php on line 117
  Execute transformation using writer "twig"
  Execute transformation using writer "twig"
  Execute transformation using writer "twig"

Warning: file_put_contents(/app/sortie//): failed to open stream: Is a directory in phar:///usr/local/bin/phpdoc/src/phpDocumentor/Plugin/Twig/Writer/Twig.php on line 117
  Execute transformation using writer "twig"
  Execute transformation using writer "twig"
  Execute transformation using writer "twig"
  Execute transformation using writer "twig"
  Execute transformation using writer "twig"
  Execute transformation using writer "Graph"
   0.448s
Analyze results and write report to log                            ..    0.000s

Directory sortie/files is empty. Link not work in the page.

docu

I don’t know if I miss something into the config or if it’s a bug.

About this issue

  • Original URL
  • State: open
  • Created 7 years ago
  • Reactions: 3
  • Comments: 20 (5 by maintainers)

Most upvoted comments

Found a solution in this https://github.com/docker-library/php/issues/240, it works for me!

apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ --allow-untrusted
export LD_PRELOAD=/usr/lib/preloadable_libiconv.so php

Thanks 😃 It’s work, but :

  • not really with latest (alpine3.4)
  • with warnings on php:7.2-rc-alpine (alpine 3.6).

The dockerfile

FROM php:7.2-rc-alpine
MAINTAINER PIVARD Julien <pivardjulien@gmail.com>

# Install phpDocumentor executable
ADD https://github.com/phpDocumentor/phpDocumentor2/releases/download/v2.9.0/phpDocumentor.phar \
    /usr/local/bin/phpdoc

RUN chmod 755 /usr/local/bin/phpdoc \
    && apk add --update --no-cache \
            graphviz \
            icu-libs libxslt \
    && apk add --no-cache --virtual .build-deps \
            icu-dev libxslt-dev \
    && docker-php-ext-install intl xsl \
    && apk del .build-deps \
    && rm -rf /var/cache/apk/*

RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing gnu-libiconv
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php

VOLUME ["/app"]
WORKDIR /app

ENTRYPOINT ["/usr/local/bin/phpdoc"]

The warnings :

Warning: count(): Parameter must be an array or an object that implements Countable in phar:///usr/local/bin/phpdoc/src/phpDocumentor/Plugin/Core/Descriptor/Validator/Constraints/Functions/IsArgumentInDocBlockValidator.php on line 33

And write warnings in the doc : resultat