Skip to content
This repository was archived by the owner on Aug 13, 2024. It is now read-only.

Commit 15a1607

Browse files
committed
Added 8.2
1 parent f0dff9b commit 15a1607

File tree

7 files changed

+615
-6
lines changed

7 files changed

+615
-6
lines changed

.github/workflows/ci-8.0.yaml

+1-3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,4 @@ jobs:
2929
context: ./php8.0
3030
file: ./php8.0/Dockerfile
3131
push: true
32-
tags: |
33-
repox/laravel-dev-php:latest
34-
repox/laravel-dev-php:8.0
32+
tags: repox/laravel-dev-php:8.0

.github/workflows/ci-8.1.yaml

+1-3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,4 @@ jobs:
2929
context: ./php8.1
3030
file: ./php8.1/Dockerfile
3131
push: true
32-
tags: |
33-
repox/laravel-dev-php:latest
34-
repox/laravel-dev-php:8.1
32+
tags: repox/laravel-dev-php:8.1

.github/workflows/ci-8.2.yaml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: "PHP 8.2 Build"
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
schedule:
8+
- cron: "0 0 * * 1"
9+
10+
11+
jobs:
12+
path-context:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v2
17+
- name: Set up QEMU
18+
uses: docker/setup-qemu-action@v1
19+
- name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@v1
21+
- name: Login to DockerHub
22+
uses: docker/login-action@v1
23+
with:
24+
username: ${{ secrets.DOCKERHUB_USERNAME }}
25+
password: ${{ secrets.DOCKERHUB_TOKEN }}
26+
- name: Build and push PHP 8.2 image
27+
uses: docker/build-push-action@v2
28+
with:
29+
context: ./php8.2
30+
file: ./php8.2/Dockerfile
31+
push: true
32+
tags: |
33+
repox/laravel-dev-php:latest
34+
repox/laravel-dev-php:8.2

php8.2/Dockerfile

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
FROM ubuntu:20.04
2+
3+
MAINTAINER Dan Storm
4+
5+
ENV TZ=Europe/Berlin
6+
ENV LANG=en_US.UTF-8
7+
ENV LANGUAGE=en_US:en
8+
ENV LC_ALL=en_US.UTF-8
9+
ENV DEBIAN_FRONTEND=noninteractive
10+
11+
RUN apt-get clean && apt-get update && apt-get install -y locales
12+
RUN locale-gen en_US.UTF-8
13+
14+
RUN apt-get update \
15+
&& apt-get install -y curl zip unzip git software-properties-common \
16+
&& add-apt-repository -y ppa:ondrej/php \
17+
&& apt-get update \
18+
&& apt-get install -y php8.2-fpm php8.2-cli php8.2-gd php8.2-mysql php8.2-intl php8.2-bcmath php8.2-sqlite php8.2-xdebug php8.2-zip \
19+
php8.2-pgsql php8.2-imap php-memcached php8.2-mbstring php8.2-xml php8.2-curl php8.2-redis php8.2-soap php8.2-mailparse \
20+
&& php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer \
21+
&& mkdir /run/php \
22+
&& update-alternatives --install /usr/bin/php php /usr/bin/php8.2 100 \
23+
&& apt-get remove -y --purge software-properties-common \
24+
&& apt-get clean \
25+
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
26+
27+
ADD php-fpm.conf /etc/php/8.2fpm/php-fpm.conf
28+
ADD www.conf /etc/php/8.2/fpm/pool.d/www.conf
29+
ADD php.ini /etc/php/8.2/fpm/php.ini
30+
31+
EXPOSE 9000
32+
CMD ["php-fpm8.2"]

php8.2/php-fpm.conf

+125
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
;;;;;;;;;;;;;;;;;;;;;
2+
; FPM Configuration ;
3+
;;;;;;;;;;;;;;;;;;;;;
4+
5+
; All relative paths in this configuration file are relative to PHP's install
6+
; prefix (/usr). This prefix can be dynamically changed by using the
7+
; '-p' argument from the command line.
8+
9+
;;;;;;;;;;;;;;;;;;
10+
; Global Options ;
11+
;;;;;;;;;;;;;;;;;;
12+
13+
[global]
14+
; Pid file
15+
; Note: the default prefix is /var
16+
; Default Value: none
17+
pid = /run/php/php8.2-fpm.pid
18+
19+
; Error log file
20+
; If it's set to "syslog", log is sent to syslogd instead of being written
21+
; in a local file.
22+
; Note: the default prefix is /var
23+
; Default Value: log/php-fpm.log
24+
error_log = /proc/self/fd/2
25+
26+
; syslog_facility is used to specify what type of program is logging the
27+
; message. This lets syslogd specify that messages from different facilities
28+
; will be handled differently.
29+
; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)
30+
; Default Value: daemon
31+
;syslog.facility = daemon
32+
33+
; syslog_ident is prepended to every message. If you have multiple FPM
34+
; instances running on the same server, you can change the default value
35+
; which must suit common needs.
36+
; Default Value: php-fpm
37+
;syslog.ident = php-fpm
38+
39+
; Log level
40+
; Possible Values: alert, error, warning, notice, debug
41+
; Default Value: notice
42+
;log_level = notice
43+
44+
; If this number of child processes exit with SIGSEGV or SIGBUS within the time
45+
; interval set by emergency_restart_interval then FPM will restart. A value
46+
; of '0' means 'Off'.
47+
; Default Value: 0
48+
;emergency_restart_threshold = 0
49+
50+
; Interval of time used by emergency_restart_interval to determine when
51+
; a graceful restart will be initiated. This can be useful to work around
52+
; accidental corruptions in an accelerator's shared memory.
53+
; Available Units: s(econds), m(inutes), h(ours), or d(ays)
54+
; Default Unit: seconds
55+
; Default Value: 0
56+
;emergency_restart_interval = 0
57+
58+
; Time limit for child processes to wait for a reaction on signals from master.
59+
; Available units: s(econds), m(inutes), h(ours), or d(ays)
60+
; Default Unit: seconds
61+
; Default Value: 0
62+
;process_control_timeout = 0
63+
64+
; The maximum number of processes FPM will fork. This has been design to control
65+
; the global number of processes when using dynamic PM within a lot of pools.
66+
; Use it with caution.
67+
; Note: A value of 0 indicates no limit
68+
; Default Value: 0
69+
; process.max = 128
70+
71+
; Specify the nice(2) priority to apply to the master process (only if set)
72+
; The value can vary from -19 (highest priority) to 20 (lower priority)
73+
; Note: - It will only work if the FPM master process is launched as root
74+
; - The pool process will inherit the master process priority
75+
; unless it specified otherwise
76+
; Default Value: no set
77+
; process.priority = -19
78+
79+
; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
80+
; Default Value: yes
81+
daemonize = no
82+
83+
; Set open file descriptor rlimit for the master process.
84+
; Default Value: system defined value
85+
;rlimit_files = 1024
86+
87+
; Set max core size rlimit for the master process.
88+
; Possible Values: 'unlimited' or an integer greater or equal to 0
89+
; Default Value: system defined value
90+
;rlimit_core = 0
91+
92+
; Specify the event mechanism FPM will use. The following is available:
93+
; - select (any POSIX os)
94+
; - poll (any POSIX os)
95+
; - epoll (linux >= 2.5.44)
96+
; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)
97+
; - /dev/poll (Solaris >= 7)
98+
; - port (Solaris >= 10)
99+
; Default Value: not set (auto detection)
100+
;events.mechanism = epoll
101+
102+
; When FPM is build with systemd integration, specify the interval,
103+
; in second, between health report notification to systemd.
104+
; Set to 0 to disable.
105+
; Available Units: s(econds), m(inutes), h(ours)
106+
; Default Unit: seconds
107+
; Default value: 10
108+
;systemd_interval = 10
109+
110+
;;;;;;;;;;;;;;;;;;;;
111+
; Pool Definitions ;
112+
;;;;;;;;;;;;;;;;;;;;
113+
114+
; Multiple pools of child processes may be started with different listening
115+
; ports and different management options. The name of the pool will be
116+
; used in logs and stats. There is no limitation on the number of pools which
117+
; FPM can handle. Your system will tell you anyway :)
118+
119+
; Include one or more files. If glob(3) exists, it is used to include a bunch of
120+
; files from a glob(3) pattern. This directive can be used everywhere in the
121+
; file.
122+
; Relative path can also be used. They will be prefixed by:
123+
; - the global prefix if it's been set (-p argument)
124+
; - /usr otherwise
125+
include=/etc/php/8.2/fpm/pool.d/*.conf

php8.2/php.ini

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
display_errors = On
2+
display_startup_errors = On
3+
error_reporting = E_ALL
4+
html_errors = On
5+
log_errors = On
6+
opcache.enable = 1
7+
opcache.jit_buffer_size = 100M
8+
9+
xdebug.mode=develop,debug
10+
xdebug.start_with_request=yes
11+
xdebug.discover_client_host=0
12+
xdebug.client_host = host.docker.internal

0 commit comments

Comments
 (0)