Compile the Photon OpenCV PHP extension via Docker.
You can build the Docker container yourself by running: docker build -t photon-docker .
Compile the Photon OpenCV PHP extension via Docker.
You can build the Docker container yourself by running: docker build -t photon-docker .
| FROM php:8.1-apache | |
| RUN apt-get update --fix-missing \ | |
| && apt-get install -y --no-install-recommends \ | |
| vim \ | |
| git \ | |
| subversion \ | |
| libopencv-dev \ | |
| libwebp-dev \ | |
| libgif-dev \ | |
| libwebpdemux2 \ | |
| libwebpmux3 \ | |
| # libexiv2-dev \ | |
| libheif-dev \ | |
| liblcms2-dev | |
| # Download and compile Exiv2 0.28 since the Ubuntu package is behind | |
| RUN apt-get install --yes build-essential git clang ccache python3 libxml2-utils cmake python3 libexpat1-dev libz-dev zlib1g-dev libbrotli-dev libssh-dev libcurl4-openssl-dev libgtest-dev google-mock libinih-dev | |
| RUN git clone --depth 1 --branch v0.28.0 https://github.com/Exiv2/exiv2 /tmp/exiv2 | |
| RUN mkdir /tmp/exiv2/build | |
| RUN cd /tmp/exiv2/build && cmake .. -G "Unix Makefiles" && make && make install | |
| # Download and Compile PHP-CPP from https://github.com/fast-debug/PHP-CPP | |
| RUN svn co --quiet --trust-server-cert --non-interactive https://github.com/fast-debug/PHP-CPP /tmp/php-cpp | |
| RUN cd /tmp/php-cpp/trunk && make && make install | |
| ## Download and compile Photon OpenCV | |
| RUN git clone --depth 1 https://github.com/Automattic/photon-opencv/ /tmp/photon-opencv | |
| RUN cd /tmp/photon-opencv && make && make install | |
| RUN docker-php-ext-enable photon-opencv | |
| RUN { \ | |
| echo '<Directory /var/www/html>'; \ | |
| echo ' RewriteEngine on'; \ | |
| echo ' RewriteCond %{REQUEST_FILENAME} !-f'; \ | |
| echo ' RewriteRule .* /index.php [L,QSA]'; \ | |
| echo '</Directory>'; \ | |
| } >> /etc/apache2/conf-available/photon.conf | |
| RUN a2enmod rewrite | |
| RUN a2enconf photon | |
| RUN svn co --quiet --trust-server-cert --non-interactive https://code.svn.wordpress.org/photon /var/www/html | |
| # Remove filter_var check that prevents connecting to local IP addresses (photon r436). | |
| RUN sed -i.bak -e 's/ *FILTER_FLAG_NO_PRIV_RANGE *|//g' /var/www/html/index.php |