mirror of
https://github.com/dunglas/frankenphp
synced 2024-10-16 17:14:59 +00:00
62 lines
1.3 KiB
Docker
62 lines
1.3 KiB
Docker
|
FROM golang
|
||
|
|
||
|
ARG LIBICONV_VERSION=1.17
|
||
|
ENV PHPIZE_DEPS \
|
||
|
autoconf \
|
||
|
dpkg-dev \
|
||
|
file \
|
||
|
g++ \
|
||
|
gcc \
|
||
|
libc-dev \
|
||
|
make \
|
||
|
pkg-config \
|
||
|
re2c
|
||
|
|
||
|
RUN apt-get update && \
|
||
|
apt-get -y --no-install-recommends install \
|
||
|
$PHPIZE_DEPS \
|
||
|
libargon2-dev \
|
||
|
libcurl4-openssl-dev \
|
||
|
libonig-dev \
|
||
|
libreadline-dev \
|
||
|
libsodium-dev \
|
||
|
libsqlite3-dev \
|
||
|
libssl-dev \
|
||
|
libxml2-dev \
|
||
|
zlib1g-dev \
|
||
|
bison \
|
||
|
# Dev tools \
|
||
|
git \
|
||
|
gdb \
|
||
|
valgrind \
|
||
|
neovim \
|
||
|
zsh && \
|
||
|
echo 'set auto-load safe-path /' > /root/.gdbinit && \
|
||
|
echo '* soft core unlimited' >> /etc/security/limits.conf \
|
||
|
&& \
|
||
|
apt-get clean
|
||
|
|
||
|
RUN git clone --depth=1 --single-branch --branch=frankenphp-8.2 https://github.com/dunglas/php-src.git && \
|
||
|
cd php-src && \
|
||
|
git checkout frankenphp-8.2 && \
|
||
|
export CFLAGS="-DNO_SIGPROF" && \
|
||
|
# --enable-embed is only necessary to generate libphp.so, we don't use this SAPI directly
|
||
|
./buildconf && \
|
||
|
./configure \
|
||
|
--enable-embed=static \
|
||
|
--enable-zts \
|
||
|
--disable-zend-signals \
|
||
|
--enable-debug && \
|
||
|
make -j6 && \
|
||
|
make install && \
|
||
|
ldconfig && \
|
||
|
php --version
|
||
|
|
||
|
RUN echo "zend_extension=opcache.so\nopcache.enable=1" > /usr/local/lib/php.ini
|
||
|
|
||
|
WORKDIR /go/src/app
|
||
|
|
||
|
COPY . .
|
||
|
|
||
|
RUN go get -d -v ./...
|