Giter Site home page Giter Site logo

shinsenter / php Goto Github PK

View Code? Open in Web Editor NEW
122.0 5.0 27.0 668 KB

๐Ÿ“ฆ Simplified PHP Docker images for effortless customization and extension setup. Our Docker images cover PHP versions from 5.6 to 8.4, available in CLI, ZTS, FPM, FPM/Apache2, FPM/Nginx, RoadRunner, FrankenPHP, and Nginx Unit variants, for both Debian and Alpine versions. Updated everyday.

Home Page: https://hub.docker.com/r/shinsenter/php

License: GNU General Public License v3.0

Shell 49.44% Dockerfile 47.29% PHP 3.26%
docker-php docker-s6-overlay docker-php-alpine docker-php-cli docker-php-fpm docker-php-nginx docker-frankenphp docker-php-apache docker-php-debian docker-php-frankenphp

php's Introduction

PHP Docker Images

๐Ÿ“ฆ Simplified PHP Docker images for effortless customization and extension setup.

Our Docker images cover PHP versions from 5.6 to 8.4, available in CLI, ZTS, FPM, FPM/Apache2, FPM/Nginx, RoadRunner, FrankenPHP, and Nginx Unit variants. The Docker images are available for both Debian and Alpine versions.

Daily build

Introduction

shinsenter/php

Our PHP Docker images are based on the official PHP Docker images. These images facilitate the easy adjustment of PHP and PHP-FPM settings using environment variables, eliminating the need to rebuild images when making configuration changes.

These images also come with the latest version of Composer and popular web servers like Apache2, Nginx, RoadRunner, FrankenPHP or Nginx Unit. This setup allows for faster project initiation without additional installations.

๐Ÿชถ Info: While built on the official PHP images and including more useful extensions, we have significantly reduced the image sizes compared to the base images. This optimization improves download times and resource usage without sacrificing functionality, thanks to the docker-squash project.

Docker Image Variants

Our image tags cover PHP versions from 5.6 to 8.4(*), available in cli, zts, fpm, fpm-nginx, fpm-apache, roadrunner(1), frankenphp(2), and unit-php(3) variants. The Docker images are available for both Debian and Alpine versions.

โ„น๏ธ Note: We no longer maintain the -tidy tag names. If you are using Docker images with this tag, please replace them with the -alpine variant.

Examples:

  • shinsenter/php:7.2-cli
  • shinsenter/php:7.3-zts
  • shinsenter/php:7.4-fpm
  • shinsenter/php:8.0-fpm-apache
  • shinsenter/php:8.1-fpm-nginx
  • shinsenter/php:8.2-roadrunner (1)
  • shinsenter/php:8.3-frankenphp (2)
  • shinsenter/php:8.4-unit-php (3)

(*): The latest stable version is 8.3.
(1): PHP with RoadRunner server. The roadrunner variant supports PHP >= 8.0.
(2): FrankenPHP is still in BETA. The frankenphp variant supports PHP >= 8.2.
(3): PHP with Nginx Unit server. The unit-php variant supports PHP >= 7.4.

Explore all available tags on our Docker Hub.

For stable versions suitable for production, we also offer version tags on another repository.

Examples

You can easily run a container by copying and pasting one of these docker run commands:

CLI

# non-interactive
docker run --rm shinsenter/php:8.4-cli php -m

# interactive
docker run -it -v ./myproject:/var/www/html shinsenter/php:8.4-cli

PHP-FPM

docker run -v ./myproject:/var/www/html -p 9000:9000 shinsenter/php:8.4-fpm

PHP-FPM + Nginx (or Apache, RoadRunner, FrankenPHP, Nginx Unit)

# with Nginx
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.4-fpm-nginx

# with Apache
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.4-fpm-apache

# with RoadRunner
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.3-roadrunner

# with FrankenPHP
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.3-frankenphp

# with Nginx Unit
docker run -v ./myproject:/var/www/html -p 80:80 -p 443:443 shinsenter/php:8.3-unit-php

Customizing Settings via Environment Variables

These images allow customizing PHP and PHP-FPM settings through environment variables instead of rebuilding images.

The environment variable names follow these conventions:

This naming convention helps you easily identify which environment variable applies to which PHP/PHP-FPM configuration directive.

๐Ÿ‘‰๐Ÿป Info: By default, the $PHP_* environment variables only take effect when set before starting the container. To dynamically change PHP configurations using $PHP_* environment variables while running commands within the container, you need to start your container with the ALLOW_RUNTIME_PHP_ENVVARS=1 environment variable.

๐Ÿ’ก Hint: Run php-envvars in the container to get a full list of default $PHP_* environment variables.

Examples

Command Line

docker run \
    -v ./myproject:/var/www/html \
    -e PHP_DISPLAY_ERRORS='1' \
    -e PHP_POST_MAX_SIZE='100M' \
    -e PHP_UPLOAD_MAX_FILESIZE='100M' \
    -e PHP_SESSION_COOKIE_HTTPONLY='1' \
    shinsenter/php:8.4 php -i

With docker-compose.yml

services:
  web:
    image: shinsenter/php:8.4-fpm-nginx
    environment:
      PHP_DISPLAY_ERRORS: "1"
      PHP_POST_MAX_SIZE: "100M"
      PHP_UPLOAD_MAX_FILESIZE: "100M"
      PHP_SESSION_COOKIE_HTTPONLY: "1"

Explanation

Environment Variable Explanation Equivalent Configuration
PHP_DISPLAY_ERRORS=1 Enables displaying errors during development. display_errors 1
PHP_POST_MAX_SIZE=100M Increases the maximum post size from the default 8MB. post_max_size 100M
PHP_UPLOAD_MAX_FILESIZE=100M Increases the maximum upload file size from the default 2MB. upload_max_filesize 100M
PHP_SESSION_COOKIE_HTTPONLY=1 Enables the HttpOnly flag for session cookie security. session.cookie_httponly 1

๐Ÿ’ก Hint: Run php-envvars in the container to get a full list of default $PHP_* environment variables.

Pre-installed PHP Extensions

Popular PHP extensions are pre-installed by default, allowing projects to get started faster without additional installation.

apcu
bcmath
calendar
exif
gd
gettext
igbinary
intl
msgpack
mysqli
opcache
pcntl
pdo_mysql
pdo_pgsql
redis
sodium
uuid
yaml
zip

๐Ÿ‘‰๐Ÿป Info: The pre-installed PHP extensions from the official Docker images are excluded from this list.

๐Ÿ’ก Hint: Run docker run --rm shinsenter/php:8.4-cli php -m in the container to get a list of extensions (you can replace 8.4 with a specific PHP version).

Adding PHP Extensions

These images use a simple command called phpaddmod to install PHP extensions.

You don't need to run the more complex docker-php-ext-install command or manually edit the php.ini file; phpaddmod handles the installation and configuration for you.

For example, in your Dockerfile:

FROM shinsenter/php:8.4-fpm-nginx

# Install imagick, swoole and xdebug
RUN phpaddmod imagick swoole xdebug

# Add your instructions here
# For example:
# ADD --chown=$APP_USER:$APP_GROUP ./myproject/ /var/www/html/

๐Ÿ‘‰๐Ÿป Info: The phpaddmod command is a wrapper around the mlocati/docker-php-extension-installer utility, which takes care of all required steps to compile and activate the extensions.

๐Ÿ’ก Hint: If you're having trouble figuring out which extensions can be installed, have a look at their documentation.

Application Directory

The default application directory is /var/www/html and can be customized via the $APP_PATH environment variable:

docker run -p 80:80 -p 443:443 -p 443:443/udp \
    -v "$PWD":/app \
    -e APP_PATH=/app \
    shinsenter/php:8.4-fpm-nginx

This changes the web application directory to /app.

Moreover, the default document root (a relative path inside the application directory that contains your index.php file) can be customized by setting the $DOCUMENT_ROOT environment variable:

docker run -p 80:80 -p 443:443 -p 443:443/udp \
    -v "$PWD":/app \
    -e APP_PATH=/app \
    -e DOCUMENT_ROOT=/public \
    shinsenter/php:8.4-fpm-nginx

This would change the document root path to /app/public.

Customizing Container User and Group in Docker

Override the default user and group settings by setting environment variables when running the container.

Available variables:

Environment Variable Description Default
APP_USER Username inside the container www-data
APP_GROUP Group name inside the container www-data
APP_UID Numeric UID of the user UID in container
APP_GID Numeric GID of the group GID in container

For example, to run a container as user myapp with UID 5000:

docker run -p 80:80 -p 443:443 -p 443:443/udp \
    -e APP_USER=myapp \
    -e APP_UID=5000 \
    shinsenter/php:8.4-fpm-nginx

Or in a docker-compose.yml:

services:
  web:
    image: shinsenter/php:8.4-fpm-nginx
    environment:
      APP_USER: "myapp"
      APP_UID: "5000"

Autorun Scripts

Shell scripts placed in the /startup/ directory will automatically run when the container starts, in alphabetical order by filename. This feature can initialize projects before the main program runs, saving time by executing initialization scripts automatically.

Usage Example

Copy a script called 00-migration into /startup/ via a Dockerfile:

Note: Ensure the script has executable permissions.

FROM shinsenter/php:8.4-cli

ADD ./autorun/00-migration /startup/00-migration
RUN chmod +x /startup/00-migration

# Add your instructions here
# For example:
# ADD --chown=$APP_USER:$APP_GROUP ./myproject/ /var/www/html/

๐Ÿ‘‰๐Ÿป Info: The startup directory already includes a script called 99-greeting that prints a welcome message when the container starts.

โ–‘โ–ˆโ–€โ–€โ–‘โ–ˆโ–‘โ–ˆโ–‘โ–€โ–ˆโ–€โ–‘โ–ˆโ–€โ–ˆโ–‘โ–ˆโ–€โ–€โ–‘โ–ˆโ–€โ–€โ–‘โ–ˆโ–€โ–ˆโ–‘โ–€โ–ˆโ–€โ–‘โ–ˆโ–€โ–€โ–‘โ–ˆโ–€โ–„โ–‘โ–‘โ–‘โ–ˆโ–‘โ–ˆโ–€โ–ˆโ–‘โ–ˆโ–‘โ–ˆโ–‘โ–ˆโ–€โ–ˆ
โ–‘โ–€โ–€โ–ˆโ–‘โ–ˆโ–€โ–ˆโ–‘โ–‘โ–ˆโ–‘โ–‘โ–ˆโ–‘โ–ˆโ–‘โ–€โ–€โ–ˆโ–‘โ–ˆโ–€โ–€โ–‘โ–ˆโ–‘โ–ˆโ–‘โ–‘โ–ˆโ–‘โ–‘โ–ˆโ–€โ–€โ–‘โ–ˆโ–€โ–„โ–‘โ–„โ–€โ–‘โ–‘โ–ˆโ–€โ–€โ–‘โ–ˆโ–€โ–ˆโ–‘โ–ˆโ–€โ–€
โ–‘โ–€โ–€โ–€โ–‘โ–€โ–‘โ–€โ–‘โ–€โ–€โ–€โ–‘โ–€โ–‘โ–€โ–‘โ–€โ–€โ–€โ–‘โ–€โ–€โ–€โ–‘โ–€โ–‘โ–€โ–‘โ–‘โ–€โ–‘โ–‘โ–€โ–€โ–€โ–‘โ–€โ–‘โ–€โ–‘โ–€โ–‘โ–‘โ–‘โ–€โ–‘โ–‘โ–‘โ–€โ–‘โ–€โ–‘โ–€โ–‘โ–‘

If you find my Docker images useful, consider donating via PayPal:
 -> https://www.paypal.me/shinsenter

(To edit this welcome message, add your text to /etc/welcome.txt)

---------------
Container     : shinsenter/php (built: 2024-08-20T00:00:00+0000)
Distro        : Debian GNU/Linux 12 (bookworm)
Timezone      : UTC (GMT+0000)
UID / GID     : www-data:www-data (33:33)
App Root      : /var/www/html
Document Root : /var/www/html
---------------

Docker Images by SHIN Company
Copyright (C) 2024 SHIN Company <[email protected]>

This software is free under the GNU General Public License (GPL).
You can redistribute and/or modify it under the terms of the GNU GPL.
This program is provided with the hope that it will be useful,
but it comes WITHOUT ANY WARRANTY. For more details, refer to the GNU GPL.

To get support, please contact: SHIN Company <[email protected]>
Docker Hub:      https://hub.docker.com/u/shinsenter
GitHub Packages: https://github.com/shinsenter?tab=packages

PHP 8.4.0beta3 (cli) (built: Aug 16 2024 21:48:04) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.0beta3, Copyright (c), by Zend Technologies
Composer version 2.7.7 2024-06-10 22:11:12

Disable Autorun Scripts

To disable autorun scripts, set DISABLE_AUTORUN_SCRIPTS=1 as an environment variable.

For example, with docker run:

docker run -e DISABLE_AUTORUN_SCRIPTS=1 shinsenter/ubuntu-s6:latest bash

Or in docker-compose.yml:

services:
  web:
    image: shinsenter/ubuntu-s6:latest
    environment:
      DISABLE_AUTORUN_SCRIPTS: "1"

Using Cron Jobs

To enable cron jobs in containers, you can start the container with ENABLE_CRONTAB=1. This setting activates the Crontab service, which loads settings from the directory specified by $CRONTAB_DIR (default is /etc/crontab.d).

The cron jobs will run as the user defined by $APP_USER:$APP_GROUP, which by default is www-data:www-data, and with the home directory set by $CRONTAB_HOME (default is /var/www/html).

Here is an example Dockerfile to add a crontab:

FROM shinsenter/php:latest

ENV ENABLE_CRONTAB=1

# create crontab entry via RUN instruction
RUN echo '* * * * * echo "echo This line will run every minute!" | tee /tmp/cron-every-minute.txt' >> /etc/crontab.d/sample1;

# or copy crontab entries via ADD instruction
ADD ./sample2 /etc/crontab.d/

The format of a crontab entry is as follows:

# Job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  command to be executed

You can also easily set up cron jobs through the $CRONTAB_SETTINGS environment variable in the docker-compose.yml file. When the container starts, these settings are loaded into crontab, giving you more flexibility to change them later.

services:
  web:
    image: shinsenter/php:8.4-fpm-nginx
    environment:
      ENABLE_CRONTAB: "1"
      CRONTAB_SETTINGS: "* * * * * echo 'This line will run every minute!' | tee /tmp/cron-every-minute.txt"

For more information on environment variables for cron jobs, refer to the Other System Settings section below.

Customize Supervisor command

We can set a $SUPERVISOR_PHP_COMMAND environment variable to the service definition in your application's docker-compose.yml file. This environment variable will contain the command that the container will use to serve your application using another process instead of the default process.

Command Line

docker run \
    -e SUPERVISOR_PHP_COMMAND='php -S localhost:80 index.php' \
    shinsenter/php:8.3

With docker-compose.yml

services:
  web:
    image: shinsenter/php:8.3
    environment:
      SUPERVISOR_PHP_COMMAND: "php -S localhost:80 index.php"

Debug Mode

Enable "debug mode" for more verbose logging by setting DEBUG=1 as an environment variable. This can be used both with docker run and in docker-compose.yml.

Command Line

docker run -e DEBUG=1 shinsenter/php:8.4-fpm-nginx

With docker-compose.yml

services:
  web:
    image: shinsenter/php:8.4-fpm-nginx
    environment:
      DEBUG: "1"

Other System Settings

These Docker images include additional environment variables for fine-tuning container behavior:

Setting Name Default Value Description Example
DEFAULT_LOG_PATH /dev/stderr Sets the log output path. By default, logs will be sent to the container's standard output. /var/log/container.txt
DEBUG or DEBUG_MODE Not set Activates debug mode with more verbose logs when set to 1. 1
TZ UTC Sets the default timezone for the container. Full list. Asia/Tokyo
ALLOW_RUNTIME_PHP_ENVVARS Not set Enables the use of $PHP_* environment variables to dynamically change configurations when running PHP commands in the container. 1
INITIAL_PROJECT Not set Specifies a project for Composer to create in the app directory when it is empty.
โ€ป If the value is a URL ending in *.zip or *.tar.gz, the container will download and extract the source code to the app directory.
laravel/laravel
DISABLE_AUTORUN_CREATING_PROJECT Not set Prevents the creation of a new project when set to 1. By default, Composer creates a project if $INITIAL_PROJECT is set and the app directory is empty. 0
DISABLE_AUTORUN_COMPOSER_INSTALL Not set Disables composer install at startup when set to 1. By default, composer install runs at startup if composer.json is present but packages are missing. 0
DISABLE_AUTORUN_GENERATING_INDEX Not set Prevents the creation of index.php when set to 1. By default, an index.php is created in the $DOCUMENT_ROOT directory if it doesn't exist. 0
DISABLE_AUTORUN_SCRIPTS Not set Disables all autorun scripts when set to 1. 0
ENABLE_CRONTAB Not set Enables the Crontab service when set to 1, loading settings from the directory defined by $CRONTAB_DIR (default is /etc/crontab.d). 1
CRONTAB_DIR /etc/crontab.d Specifies the directory containing cron job settings. Cron jobs are run as the user defined by $APP_USER. /path/for/crontab/schedules
CRONTAB_HOME $APP_PATH Specifies the $HOME directory for cron jobs. /path/for/crontab
CRONTAB_MAILTO Not set Email address to which cron job logs are sent. [email protected]
CRONTAB_PATH $PATH Sets the directory paths for executing cron jobs. /path/for/crontab/bin
CRONTAB_SETTINGS Not set Allows you to configure cron jobs directly in the docker-compose.yml file, making it easy to manage and update scheduled tasks within your Docker container. 0 0 * * * echo "Hello new day!"
CRONTAB_SHELL /bin/sh Sets the default shell for cron jobs. /bin/bash
CRONTAB_TZ $TZ Sets the default timezone for cron jobs. Full list. Asia/Tokyo
ENABLE_TUNING_FPM Not enabled Enables auto-tuning of PM control settings when set to 1. 0
ENABLE_TUNING_MPM Not enabled Enables auto-tuning of Apache MPM settings when set to 1. 0
SUPERVISOR_PHP_COMMAND Not set Contains the command that the container will use to serve your application instead of the default entrypoint command. php -S localhost:80 index.php
FIX_APP_PATH_PERMISSION Not set Corrects ownership of the app directory when set to 1. 1
DISABLE_GREETING Not set Disables the welcome message at container startup when set to 1. 0

Supported Platforms

Check our Docker Hub for all available platforms. The Docker images are available for both Debian and Alpine versions.

โ„น๏ธ Note: We no longer maintain the -tidy tag names. If you are using Docker images with this tag, please replace them with the -alpine variant.

Stable Image Tags

The release versions on this GitHub repository don't guarantee that Docker images built from the same source code will always be identical.

We build new Docker images daily to ensure they stay up-to-date with the latest upstream updates for PHP, base OS, Composer, etc. The images in this repo are regularly updated under the same tag names.

For stable versions you can depend on in production, we also apply version tags on another repository.

๐Ÿ‘‰๐Ÿป View Stable Tags: https://hub.docker.com/r/shinsenter/php-archives/tags

This way, you get frequently updated images under static tags, providing both the latest code and production stability.

Contributing

If you find these images useful, consider donating via PayPal or opening an issue on GitHub.

Your support helps maintain and improve these images for the community.

License

This project is licensed under the terms of the GNU General Public License v3.0.

Please respect the intellectual efforts involved in creating these images. If you intend to copy or use ideas from this project, proper credit is appreciated.


From Vietnam ๐Ÿ‡ป๐Ÿ‡ณ with love.

php's People

Contributors

shinsenter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

php's Issues

Please include mysqldump

Hello

I have an Laravel Application which makes a backup on its own when updating.
Sadly i get a lot of errors due to the missing command mysqldump

Could you please include the command in the image.

Thanks a lot and best regards
DKeppi

PHP 7.4 FPM Apache - apt-get install error - "no installation candidate"

With the latest changes, my install no longer works.

It gets stuck on the apt-get line, with "no installation candidate" for both php7.4-dev and php-pear

Am I going to need to change something, or is this a bug?


FROM shinsenter/phpfpm-apache:php7.4

# Update and install packages
RUN apt-get update && apt-get install -y libmcrypt-dev php7.4-dev php-pear

# Install mcrypt via PECL
RUN pecl config-set php_ini "${PHP_INI_DIR}/php.ini"
RUN pecl install mcrypt

# And and Enable BZ2 and Mcrypt extensions
RUN phpaddmod bz2 && phpenmod bz2 mcrypt

# Enable RemoteIP to get proper client IP when Cloudflare and/or AWS Load Balancer is present
RUN a2enconf remoteip
RUN echo "RemoteIPHeader X-Forwarded-For" > /etc/apache2/conf-available/remoteip.conf

# Control your timezone
ENV TZ="America/Chicago"

# sets GID and UID
ENV PUID=33
ENV PGID=33

# Sets the directory from which Apache will serve files
ENV WEBHOME="/srv/www"
ENV FIX_WEBHOME_PERMISSION="true"

# Set Apache root folder within $WEBHOME
ENV APACHE_DOCUMENT_ROOT="/public_html"

# Set root path of what PHP is allowed to access (to get access to the "data" folder from EFS)
ENV PHP_OPEN_BASEDIR="/srv"

# Copy source to the right place and setup proper ownership
COPY . /srv/www/

WORKDIR $WEBHOME

Remove index.php routes in CI4

In your CI4 image, the index.php is mandatory in the urls even when configured for remover in the CI4 settings. I don't know if you have to enable something in apache in your image to have the rewrite. I've tested other CI4 images and haven't seen this issue.

Autorun scripts no longer running from WORKDIR path?

When my "startup" scripts run (from the /startup folder), it used to be relative to the APP_PATH (I use WORKDIR $APP_PATH as the last line in my Dockerfile). But I noticed yesterday in some other testing that my scripts were failing to find files I was accessing. I went ahead and added cd $APP_PATH to the top of my script and that resolved my issue.

So, I guess at some point in some of your recent updates, something changed and the process is no longer in WORKDIR when the startup scripts run?

[Bug]: Crater container is not accessible, Symfony Exception

Issue description

Crater container is not usable due to a Symfony exception. This occurs 100% of the time

Environment

  • Operating System Version: Ubuntu server 22.04
  • Docker Version: 20.10.22

Steps to reproduce the issue

  1. docker compose up -d
  2. Wait a bit for containers to start
  3. Go to http://192.168.0.70:3080

What is expected?

An installation guide most likely, I don't know what to expect really.

Additional details / screenshots

docker-compose.yaml

version: "3.5"

networks:
  default:
  npm_default:
    external: true

services:
  mariadb:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: crater_mariadb
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Toronto
      - MYSQL_ROOT_PASSWORD=RelieveFutureEarly
      - MYSQL_DATABASE=crater
      - MYSQL_USER=crater
      - MYSQL_PASSWORD=DespoticLudicrousWorkerUnrestrained
    volumes:
      - ./appdata/mariadb:/config
    restart: unless-stopped

  redis:
    restart: unless-stopped
    container_name: crater_redis
    image: redis:latest

  crater:
    image: shinsenter/crater:latest
    restart: unless-stopped
    container_name: crater
    ports:
      - '3080:80'
    volumes:
      - ./appdata/crater:/var/www/html
    environment:
      - TZ=America/Toronto
      - PUID=1000
      - PGID=1000
      - REDIS_HOST=redis
      - DB_HOST=mariadb
      - DB_DATABASE=crater
      - DB_USERNAME=crater
      - DB_PASSWORD=DespoticLudicrousWorkerUnrestrained
      # - CRATER_QUEUE_ENABLED=true
      # - CRATER_QUEUE_OPTIONS=--timeout=60 --tries=3 redis
      # - CRATER_SCHEDULE_ENABLED=true
    links:
      - mariadb
      - redis

The symfony exception

canvas

Does it support ECC and PEM ssl certificates?

on my docker file I put:

# Copy your own certs into the container
COPY ./cf_bs_ECC_cert.pem /etc/ssl/site/server.crt
COPY ./cf_bs_ECC_key.pem /etc/ssl/site/server.key

They was generated by Cloudflare to comunicate exclusively with Cloudflare proxy, but I think I shouldn't get this error in the browser accessing directly from the IP.

This site canโ€™t provide a secure connection
207.246.87.251 sent an invalid response.
ERR_SSL_PROTOCOL_ERROR

The cert used are in PEM format and uses ECC instead of RSA.

How to get all environment variables๏ผŸ

Hello, I use the tag fpm-apache mirror. I can see in the documentation that you can use 'php-envvars' to view PHP-related environment variables. But what command can I use to view all environment variables, such as Apache-related configurations?

[8.2-fpm-apache] Can't add imagick

Hi there,

Using this Docker image for quite some time, thank you for your efforts.

Today, I tried to create a Docker image with the following base-image:

ARG PHP_VERSION=8.2
ARG PHP_VARIATION=fpm-apache

FROM shinsenter/php:${PHP_VERSION}-${PHP_VARIATION} AS base


ARG BUILD_TAG

# Set the environment variable based on the tag
ENV BUILD_VERSION=$BUILD_TAG


ENV WEBHOME="/app"
ENV APACHE_DOCUMENT_ROOT="/web"
ENV TZ="Europe/Amsterdam"
ENV PHP_POST_MAX_SIZE="200M"
ENV PHP_UPLOAD_MAX_FILE_SIZE="200M"


RUN phpaddmod imagick

Above image is unable to build for me;

12.30 Installing curl
12.31 Reading package lists...
12.64 Building dependency tree...
12.72 Reading state information...
12.82 curl is already the newest version (7.88.1-10+deb12u5).
12.82 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
12.82 Installing PHP modules:  imagick
13.53 Installing PHP modules:  imagick
13.55 install-php-extensions v.2.1.81
13.55 #StandWithUkraine
13.58 /usr/local/aliases/php: line 2: cd: /app: No such file or directory
------
Dockerfile:20
--------------------
  18 |     
  19 |     
  20 | >>> RUN phpaddmod imagick
--------------------
ERROR: failed to solve: process "/bin/sh -c phpaddmod imagick" did not complete successfully: exit code: 1

Any tips as of why this might happening? Thanks in advance!

Cron task seems not work

Hello, I followed your documentation (https://hub.docker.com/r/shinsenter/php#other-system-settings) on crontask, but it doesn't seem to work properly.

I have enabled the crontab on my docker-compose :

environment:
      ENABLE_CRONTAB: 1

I have not yet added any crontask in etc/crontab.d and I get the error :

crond: can't lock /var/run/crond.pid, otherpid may be 280: Resource temporarily unavailable
run-parts: /etc/hooks/bootstrap/50-crontabs exited with return code 1

When i try to add my crontask "* * * * * /usr/local/bin/php -q /var/www/html/artisan schedule:run 2>&1" on the folder etc/crontab.d this cron is never executed.

Do you have a idea ?

If you find my Docker images useful, consider donating via PayPal:
 -> https://www.paypal.me/shinsenter
(To edit this welcome message, add your text to /etc/welcome.txt)
---------------
Container     : shinsenter/php (built: 2024-08-22T15:17:38+0000)
Distro        : Debian GNU/Linux 12 (bookworm)
Timezone      : UTC (GMT+0000)
UID / GID     : www-data:www-data (33:33)
App Root      : /var/www/html
Document Root : /var/www/html
---------------
Docker Images by SHIN Company
Copyright (C) 2024 SHIN Company <[email protected]>
This software is free under the GNU General Public License (GPL).
You can redistribute and/or modify it under the terms of the GNU GPL.
This program is provided with the hope that it will be useful,
but it comes WITHOUT ANY WARRANTY. For more details, refer to the GNU GPL.
To get support, please contact: SHIN Company <[email protected]>
Docker Hub:      https://hub.docker.com/u/shinsenter
GitHub Packages: https://github.com/shinsenter?tab=packages
PHP 8.3.10 (fpm-fcgi) (built: Aug 13 2024 01:36:32)
Copyright (c) The PHP Group
Zend Engine v4.3.10, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.10, Copyright (c), by Zend Technologies
Composer version 2.7.8 2024-08-22 15:28:36
crond: can't lock /var/run/crond.pid, otherpid may be 280: Resource temporarily unavailable
run-parts: /etc/hooks/bootstrap/50-crontabs exited with return code 1
[25-Aug-2024 16:47:04] NOTICE: fpm is running, pid 1
[25-Aug-2024 16:47:04] NOTICE: ready to handle connections

error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c if has-cmd autorun; then autorun /etc/onbuild.d/; fi]: exit code: 1

Dockerfile:

FROM phpfpm-nginx:latest
ENV LANG en_US.UTF-8
ENV TIMEZONE=Asia/Shanghai
RUN echo $TIMEZONE > /etc/timezone
WORKDIR /var/www/html
ADD ./ /var/www/html/

Error:

error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c if has-cmd autorun; then autorun /etc/onbuild.d/; fi]: exit code: 1

Buildkit: 0.11.6

Getting authz_core:error permission error

Hello,

I was using shinsenter/phpfpm-apache:php7.4 in my drupal project and it stop working now.

I'm getting
[Mon Feb 05 12:48:27.763371 2024] [authz_core:error] [pid 1888:tid 140016370005760] [client 122.169.51.168:35532] AH01630: client denied by server configuration: /site/drupal/

image

[Bug]: Synology DSM 6.2.4 - Could not initialize random number generator Found /var/run/php/php-fpm.sock!

Issue description

Hello, after a successful setup from Flarum on my Synology the logs show recurrently this error:
[Mon May 29 08:48:45.815751 2023] [:crit] [pid 303] (38)Function not implemented: AH00141: Could not initialize random number generator
Flarum is not accessible but the container is running.

Environment

  • Operating System Version: DSM 6.2.4 last version (not upgradable anymore)
  • Docker Version: 20.10.3-0554
  • kernel version on my NAS:
sysadmin@iHome:/$ uname -a
Linux iHome 3.10.105 #25556 SMP Tue Mar 21 22:22:21 CST 2023 x86_64 GNU/Linux synology_cedarview_1812+

Steps to reproduce the issue

1.Install Flarum on a Synology DSM 6.2.4 or higher (confirmed in the nextcloud github with DSM 7.x)
2.
3.

What is expected?

I know the issue is not directly related with your container, but have you any idea how to solve this?

Additional details / screenshots

You can see the similar issue for phpmyadmin: phpmyadmin/docker#373
The same with nextcloud: nextcloud/docker#1574

PHPFPM-Apache - s6-overlay-suexec: fatal: can only run as pid 1

Able to run locally but not in a container environment such as AWS ECS. When I do, I get error:

s6-overlay-suexec: fatal: can only run as pid 1

This is the Dockerfile contents:

FROM shinsenter/phpfpm-apache:php8.1

# Set environment variables
ENV PHP_PM_MAX_CHILDREN=100
ENV PHP_PM_START_SERVERS=20
ENV PHP_PM_MIN_SPARE_SERVERS=10
ENV PHP_PM_MAX_SPARE_SERVERS=35
ENV PHP_PM_MAX_REQUESTS=1000
ENV PHP_UPLOAD_MAX_FILESIZE=200M
ENV APP_PATH=/var/www/foo
ENV DOCUMENT_ROOT=/var/www/foo/html

# Update and install additional packages
RUN phpaddmod \
    mcrypt \
    memcache \
    pgsql \
    rdkafka \
    soap \
    stomp \
    xdebug \
    xsl

# Set the working directory
WORKDIR /var/www/foo

# Copy application files
COPY . .

# Copy Apache vhosts configuration
COPY docker/apache/vhosts.conf.template /etc/apache2/sites-available/vhosts.conf

# Enable the site configuration
RUN a2ensite vhosts.conf

# Copy and unzip server.zip
COPY docker/foo/server.zip /tmp/server.zip
RUN unzip /tmp/server.zip -d /var/www/conf/ \
    && rm /tmp/server.zip

# Run Composer install commands
RUN composer install --no-dev --no-scripts --prefer-dist -o -d /var/www/foo \
    && composer install --no-dev --no-scripts --prefer-dist -o -d /var/www/foo/includes/classes/Azure/ExternalAPI

# Modify PHP settings and create necessary directories
RUN sed -i \
    -e 's/error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT/error_reporting = E_ALL \& ~E_DEPRECATED \& ~E_STRICT \& ~E_WARNING \& ~E_NOTICE/g' \
    "$PHP_INI_DIR/php.ini" \
    && mkdir -p /mnt/file_archive/{logs,dx,dx_archive,storage,cached} \
    && mkdir -p /var/www/conf \
    && mkdir -p /var/www/foo/html/foo/css/cached \
    && chown -R www-data:www-data /var/www

# Expose necessary ports
EXPOSE 80

I also tried the following suggestion

CMD [ "exec", "/init" ]

pass variables via docker start instead of docker run

I see all the examples with "docker run -rm" which automatically removes the container once it is shut down.

With "docker run" i can pass variables but what about "docker start" ?

I want to use the same container over and over again (thats why i use "docker start") and adjust things like apache document dir which is by default "/var/www/html".

Even if i set WORKDIR in dockerfile, it doesnt work. I try to deploy/dockerize a laravel project and run "composer install" in the right directory.

[Bug]: Symfony API Platform 502 issue

Issue description

I'm using render.com to expose service on Symfony with API Platform (running on free plan). I have managed to generate Dockerfile for that service so it build and deploy as expected. The problem occurs while I run any request from defined API - it returns 502 nginx error. I have done some check's and can't find anywhere more parameters about buffer size for fastcgi (not sure tho if that's the issue as locally I'm working with symfony package with frankenphp and caddy).

Environment

  • Opertaing System Version:
  • Docker Version:

Steps to reproduce the issue

  1. Go to Symfony API Platform swagger page
  2. Execute any endpoint request directly from it.

What is expected?

Request should return correct response.

Additional details / screenshots

*58 upstream sent too big header while reading response header from upstream, client: ::1, server: _, request: "GET /api/users?page=1 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php-fpm.sock:", host: "<host>", referrer: "https://<host>/api/docs"

image

[Bug] Cold starts cause FCGI: attempt to connect to Unix domain socket /var/run/php/php-fpm.sock (localhost:8000) failed

Issue description

At cold starts, for a brief time, we get 503 errors.

[Mon Jan 09 19:35:42.278107 2023] [proxy:error] [pid 1131:tid 68609648887360] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/run/php/php-fpm.sock (localhost:8000) failed
[Mon Jan 09 19:35:42.278549 2023] [proxy_fcgi:error] [pid 1131:tid 68609648887360] [client 169.254.1.1:63202] AH01079: failed to make connection to backend: httpd-UDS
169.254.1.1 - - [09/Jan/2023:19:35:42 +0000] "GET /i.php HTTP/1.1" 503 473 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
2023-01-09 21:35:42.287 EET
GET 503 1,016 B 4.9s Chrome 108 https://example.org/i.php

Environment

  • Operating System Version:
  • Docker Version:

Steps to reproduce the issue

create a i.php phpinfo() file to host container

  1. deploy | run
  2. constantly hit F5
  3. when the first few requests are handled it returns the above error

What is expected?

503 errors should not happen before proper booting of environment

My suspicion is that Apache is up sooner than FPM PHP, and this causes the errors.

Additional details / screenshots

FROM shinsenter/phpfpm-apache:php8.2
ENV PHP_OPEN_BASEDIR /
RUN echo 'error_log = /var/log/php_error_log' >> /etc/php/8.2/fpm/php.ini \
    && echo 'ignore_repeated_errors = on' >> /etc/php/8.2/fpm/php.ini \
    && sed -i 's/80/8080/g' /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf \
    && echo "ServerSignature Off" >> /etc/apache2/apache2.conf 

COPY . /var/www/html

EXPOSE 8080

phpinfo in APP_PATH

./src/php/common/rootfs/etc/cont-init.d/10-project: echo '<?php phpinfo();' >"$APPROOT/index.php"

Please fix this, you are currently placing this in the apache document root.

container stop with s6-rc failed error

Hi, I'm using the shinsenter/phpfpm-apache:php8.1 image and this night after an update with watchtower I found my containers down with this error

Server version: Apache/2.4.61 (Debian)
Server built:   2024-07-07T12:08:26
AH00534: apache2: Configuration error: No MPM loaded.
cont-init: warning: some scripts exited nonzero
s6-rc: warning: unable to start service legacy-cont-init: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.

The image I'm using has digest a188c7c192f7f462336827fcc49e3fe679bb174ec082e6149b1810b7daa6bae3

Is there anything I can do to fix or help fixing this error?

Thanks

Tas

Traefik Example for https App

HI there. I was wondering if you can make an example for use with traefik. For me it isn't working with traefik. I get 503 errors or redirect loops in an TYPO3 installation. Without traefik it worked. So I think there is an error for me.

In shinsenter/statamic, glide is broken in Statamic 5 due to nginx rule

docker image: https://hub.docker.com/r/shinsenter/statamic

When using {{ glide }} the URLs it generates start with /img/ and out of the box this returns an nginx 404 with Statamic 5.

To fix this, I added this to my dockerfile:

FROM shinsenter/statamic:latest-alpine

# ...

# Update nginx config to fix statamic glide /img/
RUN sed -i '/include \/etc\/nginx\/custom.d\/\*.conf;/i \
    location ~* ^/img/(.*) {\
        try_files $uri @glide;\
    }\
    location @glide {\
        rewrite ^/img/(.*)$ /index.php?/img/$1 last;\
    }' /etc/nginx/sites-enabled/00-default.conf

# Test the Nginx configuration
RUN nginx -t

There also seems to be an issue with some images generating 400 errors, 'Signature Invalid'. Investigating that related issue, but the above got glide images working mostly.

More info on this issue: statamic/cms#10053

how to run nginx with root?

The nginx user is www-data not root.

www-data 424 412 0 13:10 ? 00:00:00 nginx: worker process
www-data 425 412 0 13:10 ? 00:00:00 nginx: worker process

Adding imagemagick fails on the build:

Note: This might be another /tmp issue from this error log around 49:21

Dockerfile:

FROM shinsenter/statamic:php8.3-alpine

# Install imagemagick
RUN phpaddmod imagick

Error log:

 > [web 2/2] RUN phpaddmod imagick:
0.185 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
0.425 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
0.981 v3.20.1-161-g92564a0d909 [https://dl-cdn.alpinelinux.org/alpine/v3.20/main]
0.981 v3.20.1-163-gc21bd5e8a59 [https://dl-cdn.alpinelinux.org/alpine/v3.20/community]
0.981 OK: 24154 distinct packages available
1.274 (1/2) Installing libacl (2.3.2-r0)
1.394 (2/2) Installing tar (1.35-r2)
1.480 Executing busybox-1.36.1-r29.trigger
1.484 OK: 53 MiB in 78 packages
1.788 (1/1) Installing xz (5.6.1-r3)
1.907 Executing busybox-1.36.1-r29.trigger
1.911 OK: 53 MiB in 79 packages
2.215 (1/3) Installing m4 (1.4.19-r3)
2.343 (2/3) Installing perl (5.38.2-r0)
6.228 (3/3) Installing autoconf (2.72-r0)
6.402 Executing busybox-1.36.1-r29.trigger
6.407 OK: 95 MiB in 82 packages
6.731 (1/2) Installing pkgconf (2.2.0-r0)
6.866 (2/2) Installing dpkg-dev (1.22.6-r1)
6.965 Executing busybox-1.36.1-r29.trigger
6.969 OK: 97 MiB in 84 packages
7.276 (1/1) Installing dpkg (1.22.6-r1)
7.460 Executing busybox-1.36.1-r29.trigger
7.464 OK: 98 MiB in 85 packages
7.781 (1/2) Installing libmagic (5.45-r1)
7.972 (2/2) Installing file (5.45-r1)
7.999 Executing busybox-1.36.1-r29.trigger
8.003 OK: 106 MiB in 87 packages
8.305 (1/12) Installing libstdc++-dev (13.2.1_git20240309-r0)
8.986 (2/12) Installing jansson (2.14-r4)
9.016 (3/12) Installing binutils (2.42-r0)
9.522 (4/12) Installing libgomp (13.2.1_git20240309-r0)
9.570 (5/12) Installing libatomic (13.2.1_git20240309-r0)
9.597 (6/12) Installing gmp (6.3.0-r1)
9.658 (7/12) Installing isl26 (0.26-r1)
9.816 (8/12) Installing mpfr4 (4.2.1-r0)
9.888 (9/12) Installing mpc1 (1.3.1-r1)
9.921 (10/12) Installing gcc (13.2.1_git20240309-r0)
17.31 (11/12) Installing musl-dev (1.2.5-r0)
17.86 (12/12) Installing g++ (13.2.1_git20240309-r0)
20.19 Executing busybox-1.36.1-r29.trigger
20.19 OK: 311 MiB in 99 packages
20.50 OK: 311 MiB in 99 packages
20.79 OK: 311 MiB in 99 packages
21.09 (1/1) Installing make (4.4.1-r2)
21.22 Executing busybox-1.36.1-r29.trigger
21.22 OK: 311 MiB in 100 packages
21.53 OK: 311 MiB in 100 packages
21.82 (1/1) Installing re2c (3.1-r0)
22.03 Executing busybox-1.36.1-r29.trigger
22.04 OK: 312 MiB in 101 packages
22.34 OK: 312 MiB in 101 packages
24.68 install-php-extensions v.2.2.19
31.77 Updating channel "pecl.php.net"
31.77 Channel "pecl.php.net" is up to date
31.77 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
31.77 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
31.77 v3.20.1-161-g92564a0d909 [https://dl-cdn.alpinelinux.org/alpine/v3.20/main]
31.77 v3.20.1-163-gc21bd5e8a59 [https://dl-cdn.alpinelinux.org/alpine/v3.20/community]
31.77 OK: 24154 distinct packages available
31.77 ### MARKING PRE-INSTALLED PACKAGES AS IN-USE ###
31.77 # Packages: libgomp
31.77 OK: 312 MiB in 101 packages
31.77 ### INSTALLING REQUIRED PACKAGES ###
33.76 # Packages to be kept after installation: dbus-libs avahi-libs nettle libffi libtasn1 p11-kit gnutls cups-libs libexpat fontconfig jbig2dec lcms2 openjpeg tiff ghostscript fftw-double-libs libltdl imagemagick-libs imagemagick imagemagick-jpeg imagemagick-pdf imagemagick-tiff libwebpdemux libwebpmux imagemagick-webp libde265 numactl x265-libs libheif imagemagick-heic openexr-libiex openexr-libilmthread imath openexr-libopenexr giflib libhwy libjxl imagemagick-jxl libraw imagemagick-raw libxrender pixman cairo libeconf libblkid libmount pcre2 glib cairo-gobject shared-mime-info gdk-pixbuf libxft fribidi graphite2 harfbuzz pango imagemagick-pango librsvg imagemagick-svg
33.76 # Packages to be used only for installation: imagemagick-c++ imagemagick-dev
33.76 (1/61) Installing dbus-libs (1.14.10-r1)
33.76 (2/61) Installing avahi-libs (0.8-r17)
33.76 (3/61) Installing libxrender (0.9.11-r5)
33.76 (4/61) Installing libexpat (2.6.2-r0)
33.76 (5/61) Installing fontconfig (2.15.0-r1)
33.76 (6/61) Installing pixman (0.43.2-r0)
33.77 (7/61) Installing cairo (1.18.0-r0)
33.77 (8/61) Installing libffi (3.4.6-r0)
33.77 (9/61) Installing libeconf (0.6.3-r0)
33.77 (10/61) Installing libblkid (2.40.1-r1)
33.77 (11/61) Installing libmount (2.40.1-r1)
33.77 (12/61) Installing pcre2 (10.43-r0)
33.77 (13/61) Installing glib (2.80.2-r0)
33.77 (14/61) Installing cairo-gobject (1.18.0-r0)
33.77 (15/61) Installing nettle (3.9.1-r0)
33.77 (16/61) Installing libtasn1 (4.19.0-r2)
33.77 (17/61) Installing p11-kit (0.25.3-r0)
33.77 (18/61) Installing gnutls (3.8.5-r0)
33.77 (19/61) Installing cups-libs (2.4.9-r0)
33.77 (20/61) Installing fftw-double-libs (3.3.10-r5)
33.77 (21/61) Installing fribidi (1.0.15-r0)
33.77 (22/61) Installing shared-mime-info (2.4-r0)
33.77 (23/61) Installing tiff (4.6.0t-r0)
38.31 (24/61) Installing gdk-pixbuf (2.42.11-r1)
38.31 (25/61) Installing jbig2dec (0.20-r0)
38.31 (26/61) Installing lcms2 (2.16-r0)
38.31 (27/61) Installing openjpeg (2.5.2-r0)
38.31 (28/61) Installing ghostscript (10.03.1-r0)
38.31 (29/61) Installing giflib (5.2.2-r0)
38.31 (30/61) Installing graphite2 (1.3.14-r6)
38.31 (31/61) Installing harfbuzz (8.5.0-r0)
38.31 (32/61) Installing libltdl (2.4.7-r3)
38.31 (33/61) Installing imagemagick-libs (7.1.1.32-r2)
38.31 (34/61) Installing imagemagick (7.1.1.32-r2)
38.31 (35/61) Installing imagemagick-jpeg (7.1.1.32-r2)
38.31 (36/61) Installing imagemagick-pdf (7.1.1.32-r2)
38.31 (37/61) Installing imagemagick-tiff (7.1.1.32-r2)
38.31 (38/61) Installing libwebpdemux (1.3.2-r0)
38.31 (39/61) Installing libwebpmux (1.3.2-r0)
38.31 (40/61) Installing imagemagick-webp (7.1.1.32-r2)
38.31 (41/61) Installing imagemagick-c++ (7.1.1.32-r2)
38.31 (42/61) Installing imagemagick-dev (7.1.1.32-r2)
38.31 (43/61) Installing libde265 (1.0.15-r0)
38.31 (44/61) Installing numactl (2.0.18-r0)
38.31 (45/61) Installing x265-libs (3.6-r0)
38.31 (46/61) Installing libheif (1.17.6-r1)
38.31 (47/61) Installing imagemagick-heic (7.1.1.32-r2)
42.67 (48/61) Installing openexr-libiex (3.1.13-r1)
42.67 (49/61) Installing openexr-libilmthread (3.1.13-r1)
42.67 (50/61) Installing imath (3.1.11-r2)
42.67 (51/61) Installing openexr-libopenexr (3.1.13-r1)
42.67 (52/61) Installing libhwy (1.0.7-r0)
42.67 (53/61) Installing libjxl (0.10.2-r0)
42.67 (54/61) Installing imagemagick-jxl (7.1.1.32-r2)
42.67 (55/61) Installing libxft (2.3.8-r3)
42.67 (56/61) Installing pango (1.52.2-r0)
42.67 (57/61) Installing imagemagick-pango (7.1.1.32-r2)
42.67 (58/61) Installing libraw (0.21.2-r0)
42.67 (59/61) Installing imagemagick-raw (7.1.1.32-r2)
42.67 (60/61) Installing librsvg (2.58.0-r0)
42.67 (61/61) Installing imagemagick-svg (7.1.1.32-r2)
42.67 Executing busybox-1.36.1-r29.trigger
42.67 Executing fontconfig-2.15.0-r1.trigger
42.67 Executing glib-2.80.2-r0.trigger
42.67 Executing shared-mime-info-2.4-r0.trigger
42.67 Executing gdk-pixbuf-2.42.11-r1.trigger
42.67 OK: 442 MiB in 162 packages
42.67 ### INSTALLING REMOTE MODULE imagick ###
42.67 downloading imagick-3.7.0.tgz ...
42.67 Starting to download imagick-3.7.0.tgz (360,138 bytes)
42.67 .........................................................................done: 360,138 bytes
43.73 33 source files, building
43.73 running: phpize
43.73 Configuring for:
43.73 PHP Api Version:         20230831
43.73 Zend Module Api No:      20230831
43.73 Zend Extension Api No:   420230831
43.73 Please provide the prefix of ImageMagick installation [autodetect] : building in /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0
43.73 running: /tmp/pear/temp/imagick/configure --with-php-config=/usr/local/bin/php-config --with-imagick
43.73 checking for grep that handles long lines and -e... /bin/grep
43.73 checking for egrep... /bin/grep -E
43.73 checking for a sed that does not truncate output... /bin/sed
43.73 checking for pkg-config... /usr/bin/pkg-config
43.73 checking pkg-config is at least version 0.9.0... yes
43.73 checking for cc... cc
43.73 checking whether the C compiler works... yes
43.73 checking for C compiler default output file name... a.out
43.73 checking for suffix of executables...
43.73 checking whether we are cross compiling... no
43.73 checking for suffix of object files... o
43.73 checking whether the compiler supports GNU C... yes
43.73 checking whether cc accepts -g... yes
43.94 checking for cc option to enable C11 features... none needed
43.94 checking how to run the C preprocessor... cc -E
43.94 checking for egrep -e... (cached) /bin/grep -E
43.95 checking for icc... no
43.95 checking for suncc... no
43.95 checking for system library directory... lib
43.95 checking if compiler supports -Wl,-rpath,... yes
43.95 checking build system type... x86_64-pc-linux-musl
43.95 checking host system type... x86_64-pc-linux-musl
43.95 checking target system type... x86_64-pc-linux-musl
43.95 checking for PHP prefix... /usr/local
43.95 checking for PHP includes... -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib
43.95 checking for PHP extension directory... /usr/local/lib/php/extensions/no-debug-non-zts-20230831
43.95 checking for PHP installed headers prefix... /usr/local/include/php
43.95 checking if debug is enabled... no
43.95 checking if zts is enabled... no
43.95 checking for gawk... no
43.95 checking for nawk... no
43.95 checking for awk... awk
43.95 checking if awk is broken... no
44.18 checking whether to enable the imagick extension... yes, shared
44.18 checking for pkg-config... /usr/bin/pkg-config
44.18 checking ImageMagick MagickWand API configuration program... checking Testing /usr/local/bin/MagickWand-config... Doesn't exist
44.18 checking Testing /usr/bin/MagickWand-config... It exists
44.18 found in /usr/bin/MagickWand-config
44.18 checking if ImageMagick version is at least 6.2.4... found version 7.1.1-32 Q16 HDRI
44.18 checking for MagickWand.h or magick-wand.h header... user location /usr/include/ImageMagick-7/MagickWand/MagickWand.h
44.18 checking PHP version is at least 5.3.2... yes. found 8.3.9
44.18 libs
44.18 -lMagickWand-7.Q16HDRI -lMagickCore-7.Q16HDRI
44.18
44.18
44.18 checking for MagickGetVersion... yes
44.18 checking omp_pause_resource_all usability... yes
44.18 checking Which flavour of OpenMP to link... checking for omp_pause_resource_all... no
44.18 checking for __omp_pause_resource_all... no
44.18 checking for omp_pause_resource_all in -lgomp... yes
44.18 GCC flavoured OpenMP
44.18 checking for a sed that does not truncate output... /bin/sed
44.18 checking for ld used by cc... /usr/x86_64-alpine-linux-musl/bin/ld
44.55 checking if the linker (/usr/x86_64-alpine-linux-musl/bin/ld) is GNU ld... yes
44.55 checking for /usr/x86_64-alpine-linux-musl/bin/ld option to reload object files... -r
44.55 checking for BSD-compatible nm... /usr/bin/nm -B
44.55 checking whether ln -s works... yes
44.55 checking how to recognize dependent libraries... pass_all
44.55 checking for stdio.h... yes
44.55 checking for stdlib.h... yes
44.55 checking for string.h... yes
44.56 checking for inttypes.h... yes
44.56 checking for stdint.h... yes
44.56 checking for strings.h... yes
44.56 checking for sys/stat.h... yes
44.56 checking for sys/types.h... yes
44.56 checking for unistd.h... yes
44.56 checking for dlfcn.h... yes
44.56 checking the maximum length of command line arguments... 98304
44.56 checking command to parse /usr/bin/nm -B output from cc object... ok
44.56 checking for objdir... .libs
44.56 checking for ar... ar
44.56 checking for ranlib... ranlib
44.56 checking for strip... strip
44.56 checking if cc supports -fno-rtti -fno-exceptions... no
44.56 checking for cc option to produce PIC... -fPIC
44.56 checking if cc PIC flag -fPIC works... yes
44.56 checking if cc static flag -static works... yes
44.56 checking if cc supports -c -o file.o... yes
44.88 checking whether the cc linker (/usr/x86_64-alpine-linux-musl/bin/ld -m elf_x86_64) supports shared libraries... yes
44.88 checking whether -lc should be explicitly linked in... no
44.88 checking dynamic linker characteristics... GNU/Linux ld.so
44.88 checking how to hardcode library paths into programs... immediate
44.88 checking whether stripping libraries is possible... yes
44.88 checking if libtool supports shared libraries... yes
44.88 checking whether to build shared libraries... yes
44.88 checking whether to build static libraries... no
44.88
44.88 creating libtool
44.88 appending configuration tag "CXX" to libtool
44.88 configure: patching config.h.in
44.88 configure: creating ./config.status
44.88 config.status: creating config.h
44.88 running: make -j12
44.88 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagick_file.c -o imagick_file.lo  -MMD -MF imagick_file.dep -MT imagick_file.lo
44.88 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagick_class.c -o imagick_class.lo  -MMD -MF imagick_class.dep -MT imagick_class.lo
44.88 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagickdraw_class.c -o imagickdraw_class.lo  -MMD -MF imagickdraw_class.dep -MT imagickdraw_class.lo
44.88 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagickpixel_class.c -o imagickpixel_class.lo  -MMD -MF imagickpixel_class.dep -MT imagickpixel_class.lo
44.88 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagickpixeliterator_class.c -o imagickpixeliterator_class.lo  -MMD -MF imagickpixeliterator_class.dep -MT imagickpixeliterator_class.lo
44.88 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagick_helpers.c -o imagick_helpers.lo  -MMD -MF imagick_helpers.dep -MT imagick_helpers.lo
44.89 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagick.c -o imagick.lo  -MMD -MF imagick.dep -MT imagick.lo
44.89 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagickkernel_class.c -o imagickkernel_class.lo  -MMD -MF imagickkernel_class.dep -MT imagickkernel_class.lo
44.97 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=compile cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE   -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/shim_im6_to_im7.c -o shim_im6_to_im7.lo  -MMD -MF shim_im6_to_im7.dep -MT shim_im6_to_im7.lo
44.97 mkdir .libs
44.97 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagick_class.c -MMD -MF imagick_class.dep -MT imagick_class.lo  -fPIC -DPIC -o .libs/imagick_class.o
44.97 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagickdraw_class.c -MMD -MF imagickdraw_class.dep -MT imagickdraw_class.lo  -fPIC -DPIC -o .libs/imagickdraw_class.o
44.97 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagickpixeliterator_class.c -MMD -MF imagickpixeliterator_class.dep -MT imagickpixeliterator_class.lo  -fPIC -DPIC -o .libs/imagickpixeliterator_class.o
44.97 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagickpixel_class.c -MMD -MF imagickpixel_class.dep -MT imagickpixel_class.lo  -fPIC -DPIC -o .libs/imagickpixel_class.o
44.97 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagick_file.c -MMD -MF imagick_file.dep -MT imagick_file.lo  -fPIC -DPIC -o .libs/imagick_file.o
44.98 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagick.c -MMD -MF imagick.dep -MT imagick.lo  -fPIC -DPIC -o .libs/imagick.o
44.98 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagickkernel_class.c -MMD -MF imagickkernel_class.dep -MT imagickkernel_class.lo  -fPIC -DPIC -o .libs/imagickkernel_class.o
48.33 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/imagick_helpers.c -MMD -MF imagick_helpers.dep -MT imagick_helpers.lo  -fPIC -DPIC -o .libs/imagick_helpers.o
48.33 cc -I. -I/tmp/pear/temp/imagick -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -D_GNU_SOURCE -I/usr/include/ImageMagick-7 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_CHANNEL_MASK_DEPTH=32 -DZEND_COMPILE_DL_EXT=1 -c /tmp/pear/temp/imagick/shim_im6_to_im7.c -MMD -MF shim_im6_to_im7.dep -MT shim_im6_to_im7.lo  -fPIC -DPIC -o .libs/shim_im6_to_im7.o
48.48 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=link cc -shared -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/include -I/tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2 -D_GNU_SOURCE    -o imagick.la -export-dynamic -avoid-version -prefer-pic -module -rpath /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/modules  imagick_file.lo imagick_class.lo imagickdraw_class.lo imagickpixel_class.lo imagickpixeliterator_class.lo imagick_helpers.lo imagick.lo imagickkernel_class.lo shim_im6_to_im7.lo -lgomp -lMagickWand-7.Q16HDRI -lMagickCore-7.Q16HDRI
48.48 cc -shared  .libs/imagick_file.o .libs/imagick_class.o .libs/imagickdraw_class.o .libs/imagickpixel_class.o .libs/imagickpixeliterator_class.o .libs/imagick_helpers.o .libs/imagick.o .libs/imagickkernel_class.o .libs/shim_im6_to_im7.o  -lgomp -lMagickWand-7.Q16HDRI -lMagickCore-7.Q16HDRI  -Wl,-soname -Wl,imagick.so -o .libs/imagick.so
48.48 creating imagick.la
48.48 (cd .libs && rm -f imagick.la && ln -s ../imagick.la imagick.la)
48.48 /bin/sh /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/libtool --tag=CC --mode=install cp ./imagick.la /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/modules
48.49 cp ./.libs/imagick.so /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/modules/imagick.so
48.49 cp ./.libs/imagick.lai /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/modules/imagick.la
48.49 PATH="$PATH:/sbin" ldconfig -n /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/modules
48.49 ----------------------------------------------------------------------
48.49 Libraries have been installed in:
48.54 /tmp/pear/temp/pear-build-defaultuseriGhmlj/imagick-3.7.0/modules
48.54
48.54 If you ever happen to want to link against installed libraries
48.54 in a given directory, LIBDIR, you must either use libtool, and
48.54 specify the full pathname of the library, or use the `-LLIBDIR'
48.54 flag during linking and do at least one of the following:
48.54 - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
48.54 during execution
48.54 - add LIBDIR to the `LD_RUN_PATH' environment variable
48.54 during linking
48.54 - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
48.54
48.54 See any operating system documentation about shared libraries for
48.54 more information, such as the ld(1) and ld.so(8) manual pages.
48.54 ----------------------------------------------------------------------
48.54
48.54 Build complete.
48.54 Don't forget to run 'make test'.
48.54
48.54 running: make -j12 INSTALL_ROOT="/tmp/pear/temp/pear-build-defaultuseriGhmlj/install-imagick-3.7.0" install
48.54 Parse /tmp/pear/temp/imagick/ImagickPixel.stub.php to generate /tmp/pear/temp/imagick/ImagickPixel_arginfo.h
48.54 Parse /tmp/pear/temp/imagick/Imagick.stub.php to generate /tmp/pear/temp/imagick/Imagick_arginfo.h
49.13 Connecting to github.com (20.26.156.215:443)
49.13 Installing header files:          /tmp/pear/temp/pear-build-defaultuseriGhmlj/install-imagick-3.7.0/usr/local/include/php/
49.13 Connecting to codeload.github.com (20.26.156.216:443)
49.13 saving to 'v5.0.0.tar.gz'
49.13 v5.0.0.tar.gz        100% |********************************|  141k  0:00:00 ETA
49.13 'v5.0.0.tar.gz' saved
49.13 PHP-Parser-5.0.0/.php-cs-fixer.dist.php
49.13 PHP-Parser-5.0.0/LICENSE
49.13 PHP-Parser-5.0.0/Makefile
49.13 PHP-Parser-5.0.0/README.md
49.13 PHP-Parser-5.0.0/bin/
49.13 PHP-Parser-5.0.0/bin/php-parse
49.13 PHP-Parser-5.0.0/composer.json
49.13 PHP-Parser-5.0.0/lib/
49.13 PHP-Parser-5.0.0/lib/PhpParser/
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/ClassConst.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Class_.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Declaration.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/EnumCase.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Enum_.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/FunctionLike.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Function_.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Interface_.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Method.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Namespace_.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Param.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Property.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/TraitUse.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/TraitUseAdaptation.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Trait_.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Builder/Use_.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/BuilderFactory.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/BuilderHelpers.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Comment.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Comment/
49.13 PHP-Parser-5.0.0/lib/PhpParser/Comment/Doc.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/ConstExprEvaluationException.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/ConstExprEvaluator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Error.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/ErrorHandler.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/ErrorHandler/
49.13 PHP-Parser-5.0.0/lib/PhpParser/ErrorHandler/Collecting.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/ErrorHandler/Throwing.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Internal/
49.13 PHP-Parser-5.0.0/lib/PhpParser/Internal/DiffElem.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Internal/Differ.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Internal/PrintableNewAnonClassNode.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Internal/TokenPolyfill.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Internal/TokenStream.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/JsonDecoder.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/Emulative.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Modifiers.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/NameContext.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/Arg.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/ArrayItem.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/Attribute.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/AttributeGroup.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/ClosureUse.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/ComplexType.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/Const_.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/DeclareItem.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr.php
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/
49.13 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/ArrayDimFetch.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/ArrayItem.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Array_.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/ArrowFunction.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Assign.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/Concat.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/Div.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/Minus.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/Mod.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/Mul.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/Plus.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/Pow.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/AssignRef.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Concat.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Div.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Equal.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Greater.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Identical.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Minus.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Mod.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Mul.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Plus.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Pow.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BitwiseNot.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/BooleanNot.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/CallLike.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast/
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast/Array_.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast/Bool_.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast/Double.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast/Int_.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast/Object_.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast/String_.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Cast/Unset_.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/ClassConstFetch.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Clone_.php
49.14 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Closure.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/ClosureUse.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/ConstFetch.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Empty_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Error.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/ErrorSuppress.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Eval_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Exit_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/FuncCall.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Include_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Instanceof_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Isset_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/List_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Match_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/MethodCall.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/New_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/NullsafeMethodCall.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/PostDec.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/PostInc.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/PreDec.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/PreInc.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Print_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/PropertyFetch.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/ShellExec.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/StaticCall.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/StaticPropertyFetch.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Ternary.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Throw_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/UnaryMinus.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/UnaryPlus.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Variable.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/YieldFrom.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Expr/Yield_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/FunctionLike.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Identifier.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/InterpolatedStringPart.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/IntersectionType.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/MatchArm.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Name.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Name/
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Name/FullyQualified.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Name/Relative.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/NullableType.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Param.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/PropertyItem.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/DNumber.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/Encapsed.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/EncapsedStringPart.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/Float_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/Int_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/InterpolatedString.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/LNumber.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/Class_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/Dir.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/File.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/Function_.php
49.15 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/Line.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/Method.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Scalar/String_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/StaticVar.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Block.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Break_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Case_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Catch_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/ClassConst.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/ClassLike.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/ClassMethod.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Class_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Const_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Continue_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/DeclareDeclare.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Declare_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Do_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Echo_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/ElseIf_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Else_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/EnumCase.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Enum_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Expression.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Finally_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/For_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Foreach_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Function_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Global_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Goto_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/GroupUse.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/HaltCompiler.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/If_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/InlineHTML.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Interface_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Label.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Namespace_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Nop.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Property.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/PropertyProperty.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Return_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/StaticVar.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Static_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Switch_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/TraitUse.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/TraitUseAdaptation/
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Trait_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/TryCatch.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Unset_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/UseUse.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/Use_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/Stmt/While_.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/UnionType.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/UseItem.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/VarLikeIdentifier.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/Node/VariadicPlaceholder.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/NodeAbstract.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/NodeDumper.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/NodeFinder.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/NodeTraverser.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/NodeTraverserInterface.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor.php
49.16 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor/
49.16 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor/CloningVisitor.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor/FindingVisitor.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor/NameResolver.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/NodeVisitorAbstract.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/Parser.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/Parser/
49.17 PHP-Parser-5.0.0/lib/PhpParser/Parser/Php7.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/Parser/Php8.php
49.17 PHP-Parser-5.0.0/lib/PhpParser/ParserAbstract.php
49.21 PHP-Parser-5.0.0/lib/PhpParser/ParserFactory.php
49.21 PHP-Parser-5.0.0/lib/PhpParser/PhpVersion.php
49.21 PHP-Parser-5.0.0/lib/PhpParser/PrettyPrinter.php
49.21 PHP-Parser-5.0.0/lib/PhpParser/PrettyPrinter/
49.21 PHP-Parser-5.0.0/lib/PhpParser/PrettyPrinter/Standard.php
49.21 PHP-Parser-5.0.0/lib/PhpParser/PrettyPrinterAbstract.php
49.21 PHP-Parser-5.0.0/lib/PhpParser/Token.php
49.21 PHP-Parser-5.0.0/lib/PhpParser/compatibility_tokens.php
49.21 PHP-Parser-5.0.0/phpstan-baseline.neon
49.21 PHP-Parser-5.0.0/phpstan.neon.dist
49.21 Saved /tmp/pear/temp/imagick/ImagickPixel_arginfo.h
49.21 In /tmp/pear/temp/imagick/Imagick.stub.php:
49.21 Unterminated preprocessor conditions
49.21 make: *** [Makefile:196: /tmp/pear/temp/imagick/Imagick_arginfo.h] Error 1
49.21 ERROR: `make -j12 INSTALL_ROOT="/tmp/pear/temp/pear-build-defaultuseriGhmlj/install-imagick-3.7.0" install' failed
49.22 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
49.42 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
49.84 (1/2) Purging imagemagick-dev (7.1.1.32-r2)
49.84 (2/2) Purging imagemagick-c++ (7.1.1.32-r2)
49.84 Executing busybox-1.36.1-r29.trigger
49.85 OK: 440 MiB in 160 packages
------
failed to solve: process "/bin/sh -c phpaddmod imagick" did not complete successfully: exit code: 1

php:8.3-fpm-apache crash

Hi,
Whenever I try to run php:8.3-fpm-apache it crashes as show in the attached screenshot. This just happened recently as it was work couple days ago.

Thanks in advance.

CleanShot 2024-01-26 at 20 06 03

Production Build

Hello,

I want to express my gratitude for your dedication to this repository. Really awesome work!

Our team utilizes the Docker image for development purposes.

Firstly, I'm curious if there's a specific build tag intended for production usage. Despite the frequent changes, is there a stable tag or version we can rely on for building? It would be helpful if you could provide guidance on its usage in a production environment.

Additionally, are there any optimizations recommended for the production environment?

Thank you.

Latest update broke composer?

Hi there,

It seems something changed over the weekend that broke the package. It appears that "composer install" no longer runs automatically in the container, which broke our deployment process.

Any idea?

crater deployment can't record a new payment

When attempting to record a payment, the following errors display:

This is just from going to an invoice and clicking the 'Save Payment' button. This worked correctly less than a month ago.

Screenshot 2024-07-19 at 8 32 55โ€ฏAM

Cron doesn't seem to work

Hello,

I'm having an issue with the cron jobs. They do not work. Here is my Dockerfile:


FROM shinsenter/phpfpm-apache:php8.2

ENV APP_UID=1004
ENV APP_GID=1005

ENV TZ="UTC"
ENV APP_PATH="/var/www/html"
ENV DOCUMENT_ROOT="/public"
ENV ENABLE_CRONTAB=1
ENV DEBUG=1
ENV FIX_APP_PATH_PERMISSION=1

COPY docker/.env /.env
COPY app/crons /crons/
COPY app/crontab /etc/cron.d/crontab
RUN chmod 0644 /etc/cron.d/crontab

RUN mkdir -p /var/log/cron
RUN crontab /etc/cron.d/crontab

And the crontab file
* * * * * /crons/cron-test.sh

And the cron-test.sh file

#!/bin/dash
php /var/www/html/crons-php/cron-test.php >> /var/log/cron/cron.log

And the cron-test.php file

<?php
 echo "Cron job worked \n";

PHP & Pecl state

Hey,

As a beginner I wanted to use your image for a project where I need to install mongodb via pecl, though I couldn't make it work because of the state of php and pecl

At first, just using pecl command was problematic :

PHP Warning:  Failed to set memory limit to 0 bytes (Current memory usage is 2097152 bytes) in Unknown on line 0
ERROR: The default config file is not a valid config file or is corrupted.

I found someone on internet saying I should rm /usr/local/etc/pear.conf, and it did make it pass the warning but trying:

root@66b184571134:/var/www/html# pecl install mongodb
PHP Warning:  Failed to set memory limit to 0 bytes (Current memory usage is 2097152 bytes) in Unknown on line 0
Invalid channel name "pecl.php.net"

invalid package name/package file "mongodb"
install failed

Even though I'm still getting this weird memory error I think the important thing here is about the channel name, I couldn't find anything about it, and it is repeated in a lot of the commands I'm trying
Can someone help ?

[Bug]: Crater Invoice Docker database connection error

Hi, crater docker is very nice. But there is a problem. It does not accept database information on the url/install page. I get the following error. So I checked the .env file, everything seems correct. Thank you in advance for your help!

SQLSTATE[HY000] [1045] Access denied for user 'crater'@'172.18.0.6' (using password: YES)

Note: I couldn't find your Crater Invoice project here, but I was able to follow it from hub.docker.com.

[BUG] Unable to view generated PDF in crater

Looks like a php-fpm.sock issue. This worked fine with the image from January.

Using the image 'shinsenter/crater:php8.1-tidy'

2024/02/01 11:58:40 [crit] 1934#1934: *5 open() "/var/lib/nginx/tmp/fastcgi/1/00/0000000001" failed (13: Permission denied) while reading upstream, client: 10.42.2.35, server: localhost, request: "GET /invoices/pdf/ODR8nvGjg82gLqp4m26r HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm.sock:", host: "crater", referrer: "https://crater/admin/invoices/23/view"

Frankenphp stopped working in last update

image
I tested in Arch linux with docker, and macOS M2 with Orb (docker after all)
Both was working yesterday but today the machine keeps saying unhealthy and nothing works.

I understand that the changes could has nothing with but, can you please check?

After try with my project I tried brand new following the README instructions, yesterday I could see "It works!" today, nothing.....

[Bug]: phpfpm-apache:php8.2 not working out-of-the-box

Issue description

When requesting a php page it shows the PHP source.

Environment

  • Opertaing System Version: Ubuntu 22.04.3 LTS
  • Docker Version: 24.0.6

Steps to reproduce the issue

Use this docker file:
FROM shinsenter/phpfpm-apache:php8.2

What is expected?

Requesting a php file in a browser, should return the parsed PHP-code.
It seems the fpm socket is pointing to /run/php/php-fpm.sock
The actual fpm socket is located at /run/php/php8.2-fpm.sock

Additional details / screenshots

Adding these lines fixes the problem:
ENV PHPFPM_SOCK_PATH=/run/php/php8.2-fpm.sock
RUN a2enconf php8.2-fpm

nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead

Main Issue:

web-1  | nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead

This deprecation warning can be fixed by moving http2 into a new directive like so:

server {
    listen 80 reuseport default_server;
    listen [::]:80 reuseport default_server;
    listen 443 ssl reuseport;
    listen [::]:443 ssl reuseport;

    http2 on;
	
	# ...

Secondary query:

Also can you please tell us how best to use these images with custom nginx configuration? This is my workaround for custom nginx configuration:

Currently, I copy the nginx config from the running container:
docker cp $(docker compose -f ../docker-compose.yml ps -q web):/etc/nginx ../nginx-dev-config

And then mount the files individually with volumes in my docker-compose.yml:

    volumes:
      # App
      - ./statamic:/var/www/html
      # Dev SSL keys (npm run devcerts in /statamic)
      - ./dev.crt:/etc/ssl/site/server.crt:ro
      - ./dev.key:/etc/ssl/site/server.key:ro
      # Nginx dev config
      - ./nginx-dev-config/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./nginx-dev-config/sites-enabled/00-default.conf:/etc/nginx/sites-enabled/00-default.conf:ro
      - ./nginx-dev-config/fastcgi.conf:/etc/nginx/fast-cgi.conf:ro
      - ./nginx-dev-config/custom.d/common.conf:/etc/nginx/custom.d/common.conf:ro

But this generates these sed errors in the container:

web-1  | sed: can't move '/etc/nginx/sites-enabled/00-default.confgdAIiC' to '/etc/nginx/sites-enabled/00-default.conf': Resource busy
web-1  | sed: can't move '/etc/nginx/nginx.confBAdMAD' to '/etc/nginx/nginx.conf': Resource busy
web-1  | sed: can't move '/etc/nginx/nginx.confidBlHD' to '/etc/nginx/nginx.conf': Resource busy
web-1  | nginx version: nginx/1.26.1
web-1  | sed: can't move '/etc/nginx/custom.d/common.confIfHmAE' to '/etc/nginx/custom.d/common.conf': Resource busy
web-1  | nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/ssl/site/server.crt"
web-1  | nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
web-1  | nginx: configuration file /etc/nginx/nginx.conf test is successful
web-1  | [12-Jul-2024 10:46:31] NOTICE: fpm is running, pid 381
web-1  | [12-Jul-2024 10:46:31] NOTICE: ready to handle connections
web-1  | nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/ssl/site/server.crt"

This image is advertised as production ready, so could you help me understand how you would make custom nginx configurations, is it similar to this method? I would prefer to eliminate all warnings and errors from a production environment, you would expect to need custom nginx configuration in production.

Thank you once again for really excellent great work. Appreciate your last bugfix ๐Ÿ™Œ

statamic/storages permissions cause laravel errors

This is what my dockerfile looks like to get around the complaints about storage folder permissions:

FROM shinsenter/statamic:latest-alpine

COPY ./statamic /var/www/html

RUN apk add --no-cache nodejs npm

# Set working directory to /var/www/html
WORKDIR /var/www/html

# Install npm dependencies
RUN npm install

# Run npm build
RUN npm run build

# Expose SMTP tls so we can send emails
EXPOSE 567

# crazy workaround for race condition permission setting
RUN echo '#!/bin/sh' > /usr/local/bin/wait-and-chown.sh && \
    echo 'timeout=120' >> /usr/local/bin/wait-and-chown.sh && \
    echo 'elapsed=0' >> /usr/local/bin/wait-and-chown.sh && \
    echo 'interval=1' >> /usr/local/bin/wait-and-chown.sh && \
    echo 'while [ ! -d "/var/www/html/storage/statamic/stache-locks" ] && [ $elapsed -lt $timeout ]; do sleep $interval; elapsed=$((elapsed + interval)); done' >> /usr/local/bin/wait-and-chown.sh && \
    echo 'if [ -d "/var/www/html/storage/statamic/stache-locks" ]; then' >> /usr/local/bin/wait-and-chown.sh && \
    echo '  chown -R www-data:www-data /var/www/html/storage;' >> /usr/local/bin/wait-and-chown.sh && \
    echo '  chown -R www-data:www-data /var/www/html/storage/statamic/stache-locks;' >> /usr/local/bin/wait-and-chown.sh && \
    echo '  chown -R www-data:www-data /var/www/html/storage/logs;' >> /usr/local/bin/wait-and-chown.sh && \
    echo 'else' >> /usr/local/bin/wait-and-chown.sh && \
    echo '  echo "Timeout reached. The directory /var/www/html/storage/statamic/stache-locks does not exist."' >> /usr/local/bin/wait-and-chown.sh && \
    echo 'fi' >> /usr/local/bin/wait-and-chown.sh && \
    chmod +x /usr/local/bin/wait-and-chown.sh

# Set the entrypoint to start the background script and the main process
ENTRYPOINT ["/bin/sh", "-c", "/usr/local/bin/wait-and-chown.sh & exec docker-php-entrypoint"]

AH01630: client denied by server configuration

Issue: Apache Serving .html Files as "Forbidden" in Docker Image

Description

I've encountered an issue with the shinsenter/php Docker image, where .html files result in a "Forbidden" error, while .php files are served as expected. It's unclear if this behavior is by design or an oversight.

Appreciation

Firstly, I want to express my gratitude for the effort put into creating and maintaining these images. Your work greatly facilitates our development processes, and it is much appreciated.

Environment

  • Docker version: Docker version 25.0.3, build 4debf41
  • Image version/tag: shinsenter/php:8.2-fpm-apache
  • Host OS: Ubuntu 22.04.4 LTS

Expected vs. Actual Behavior

Expected: Both .php and .html files should be served without issue.
Actual: .html files result in a "AH01630: client denied by server configuration" response, indicating a potential configuration issue.

Steps to Reproduce

  1. Use the latest shinsenter/php:8.2-fpm-apache image.
  2. Include .php and .html files in the web directory.
  3. Attempt to access an .html file through a browser.

Clarification Requested

Could you please clarify if the "Forbidden" status for .html files is intended? Any guidance on serving .html files or a potential fix would be greatly appreciated.

Thank you for your ongoing support and dedication to the community.

Missing laravel queues/s6 long-running process feature/documentation

Hi, this is not exactly an issue but a query on how to use the containers.

Since 5.0 there are no longer any files for \etc\services.d\300-queue so one could presume you no longer support long-running processes in containers from 5.0. I don't see any documentation on this deprecation or if this is still a feature, how to implement this in the new containers. I use Laravel as the example here, where we can run database queues in the background, where CRON is reserved for the artisan schedule command.

Hoping you can help, otherwise, amazing work as always on these containers, I have followed you for a while and have also previously contributing to the project. I am happy to contribute again with some documentation once I confirm your position on supporting the above.

How to add custom apache config

Hi there,

I have a custom apache config that I add to the image:

ADD ./docker/apache/custom.conf /etc/apache2/docker.d/custom.conf

The contents of this file is;

LogFormat "{ \"time\":\"%t\", \"remoteIP\":\"%a\", \"host\":\"%V\", \"request\":\"%U\", \"query\":\"%q\", \"method\":\"%m\", \"status\":\"%>s\", \"userAgent\":\"%{User-agent}i\", \"referer\":\"%{Referer}i\", \"originalUri\": \"%{Plugin-Original-Uri}i\" }" combined

CustomLog ${APACHE_ACCESS_LOG} combined

However, I cannot see the json logs in the terminal when visiting a page. What can I do to achieve this?

Autorun not working

In the PHP images, the autoscript does not work, even when placed in the /startup/ folder.

ENV DISABLE_AUTORUN_SCRIPTS="false"

[Bug]: Crater Example docker-compose.yml not working

Issue description

I get multiple errors when starting the docker image with the given example compose file.

Environment

  • Opertaing System Version: macos
  • Docker Version: 20.10.21

Steps to reproduce the issue

  1. Take my docker-compose.yml and start it with docker-compose up. Attention: I used different ports for crater and myql, and the network part is taken from crater's docker-compose example.
version: '3'

services:
  crater:
    # do not update until https://github.com/shinsenter/php/issues/18#issuecomment-1366262015 is fixed
    image: shinsenter/crater:php8.1
    restart: always
    volumes:
      - ./volumes/crater:/var/www/html:rw
      # - ./ssl-certs:/etc/ssl/web
    environment:
      TZ: Europe/Vienna
      PUID: ${UID:-9999}
      PGID: ${GID:-9999}
      # REDIS_HOST: redis
      DB_HOST: mysql
      DB_DATABASE: crater
      DB_USERNAME: root
      DB_PASSWORD: mydb_p@ssw0rd
      # CRATER_QUEUE_ENABLED: true
      # CRATER_QUEUE_OPTIONS: --timeout=60 --tries=3 redis
      # CRATER_SCHEDULE_ENABLED: true
    ports:
      - "3050:80"
      # - "443:443"
    links:
      - mysql
      # - redis
    networks:
      - crater

  mysql:
    image: mysql:8.0.32
    restart: always
    environment:
      TZ: Europe/Vienna
      MYSQL_ROOT_PASSWORD: mydb_p@ssw0rd
      MYSQL_DATABASE: crater
    volumes:
      - "./volumes/mysql/data:/var/lib/mysql"
      # - "./volumes/mysql/dump:/docker-entrypoint-initdb.d"
    ports:
      - "3060:3306"
    networks:
      - crater

  # redis:
  #   image: redis:7.0.8-alpine
  #   ports:
  #     - "6379:6379"

networks:
  crater:
    driver: bridge

What is expected?

  • Setup and Installation works (e.g. database connection info is taken from ENV variables)

Additional details / screenshots

  • Related issues: #11

Screenshots

Not sure why this is happening at the moment
image

Values are not taken from the compose file as expected
image

The port is not taken from the compose file, which leads to an error as expected
image

Even when I change the port to the one in the compose file it does not work:

image

[Bug][shinsenter/phpfpm-apache:php8.2-tidy] Something's been wrong lately

Hi there,

Currently i got errors in my docker container

AH00526: Syntax error on line 125 of /etc/apache2/httpd.conf: User takes one argument, Effective user id for this server [26-Jan-2024 10:12:21] ERROR: failed to open configuration file '/usr/local/etc/php-fpm.d/zz-generated-settings.conf': No such file or directory (2) [26-Jan-2024 10:12:21] ERROR: failed to load configuration file '/usr/local/etc/php-fpm.d/zz-generated-settings.conf' [26-Jan-2024 10:12:21] ERROR: FPM initialization failed

This has been happening lately, and I see you've done something there, am I missing something?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.