workerman-php8-jit.dockerfile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. FROM ubuntu:20.10
  2. ARG DEBIAN_FRONTEND=noninteractive
  3. RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
  4. RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
  5. RUN apt-get update -yqq > /dev/null && \
  6. apt-get install -yqq php8.0 php8.0-common php8.0-cli php8.0-pgsql php8.0-xml > /dev/null
  7. RUN apt-get install -yqq composer > /dev/null
  8. RUN apt-get install -y php8.0-dev libevent-dev > /dev/null
  9. #RUN apt-get install -y php-pear php8.0-dev libevent-dev php8.0-mbstring php8.0-simplexml php8.0-zip > /dev/null
  10. #RUN curl -sSL https://pear.php.net/go-pear.phar -o pear > /dev/null \
  11. # && pear install event \
  12. # && echo "extension=event.so" > /etc/php/8.0/cli/conf.d/event.ini
  13. #RUN curl -sSL https://github.com/FriendsOfPHP/pickle/releases/latest/download/pickle.phar -o /usr/local/bin/pickle \
  14. # && chmod +x /usr/local/bin/pickle
  15. #RUN pickle install event && echo "extension=event.so" > /etc/php/8.0/cli/conf.d/event.ini
  16. RUN curl -sSL https://bitbucket.org/osmanov/pecl-event/get/3.0.0-beta.1.zip -o event.zip \
  17. && unzip -qq event.zip \
  18. && cd osmanov-pecl-event-efcc0739aac6 \
  19. && phpize > /dev/null \
  20. && ./configure --with-event-core --with-event-extra \
  21. && make > /dev/null && make install > /dev/null \
  22. && echo "extension=event.so" > /etc/php/8.0/cli/conf.d/event.ini
  23. COPY php-jit.ini /etc/php/8.0/cli/php.ini
  24. ADD ./ /workerman
  25. WORKDIR /workerman
  26. RUN sed -i "s|'mysql:host|'pgsql:host|g" app.php
  27. RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet
  28. CMD php /workerman/server.php start