codecasts / php-alpine

PHP APK Repository for Alpine Linux
https://github.com/codecasts/php-alpine
483 stars 58 forks source link

apk add php-mysqli@php on 3.9 installs incompatible (7.2) version #72

Closed AndreKR closed 3 years ago

AndreKR commented 5 years ago
apk add --update curl ca-certificates
curl https://dl.bintray.com/php-alpine/key/php-alpine.rsa.pub -o /etc/apk/keys/php-alpine.rsa.pub
echo "@php https://dl.bintray.com/php-alpine/v3.9/php-7.3" >> /etc/apk/repositories
apk add --update php@php php-common@php

apk add php-mysqli@php

(1/3) Installing php7-openssl (7.2.17-r0) (2/3) Installing php7-mysqlnd (7.2.17-r0) (3/3) Installing php7-mysqli (7.2.17-r0)

glensc commented 5 years ago

looks fine here:

➔ docker run --rm -it alpine:3.9 sh
/ # apk add --update curl ca-certificates
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
(1/5) Installing ca-certificates (20190108-r0)
(2/5) Installing nghttp2-libs (1.35.1-r0)
(3/5) Installing libssh2 (1.8.2-r0)
(4/5) Installing libcurl (7.64.0-r1)
(5/5) Installing curl (7.64.0-r1)
Executing busybox-1.29.3-r10.trigger
Executing ca-certificates-20190108-r0.trigger
OK: 7 MiB in 19 packages
/ # curl https://dl.bintray.com/php-alpine/key/php-alpine.rsa.pub -o /etc/apk/keys/php-alpine.rsa.pub
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   451  100   451    0     0   2210      0 --:--:-- --:--:-- --:--:--  2210
/ # echo "@php https://dl.bintray.com/php-alpine/v3.9/php-7.3" >> /etc/apk/repositories
/ # apk add --update php@php php-common@php
fetch https://dl.bintray.com/php-alpine/v3.9/php-7.3/x86_64/APKINDEX.tar.gz
(1/9) Installing php7-common@php (7.3.3-r1)
(2/9) Installing argon2-libs (20171227-r1)
(3/9) Installing ncurses-terminfo-base (6.1_p20190105-r0)
(4/9) Installing ncurses-terminfo (6.1_p20190105-r0)
(5/9) Installing ncurses-libs (6.1_p20190105-r0)
(6/9) Installing libedit (20181209.3.1-r0)
(7/9) Installing pcre2 (10.32-r1)
(8/9) Installing libxml2 (2.9.9-r1)
(9/9) Installing php7@php (7.3.3-r1)
Executing busybox-1.29.3-r10.trigger
OK: 36 MiB in 28 packages
/ #
AndreKR commented 5 years ago

@glensc What do you mean "looks fine"... that's because you didn't enter the failing command. :)

glensc commented 5 years ago

yes, the command is there: apk add --update php@php php-common@php

AndreKR commented 5 years ago

@glensc The error doesn't appear until you run the last line: apk add php-mysqli@php

gkurl commented 5 years ago

Getting the same issue with php-pdo_mysql specifically where it's pulling a php7.2 version of the extension, I'm using an official nginx:1.16-alpine image from Docker hub:

fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz fetch https://dl.bintray.com/php-alpine/v3.9/php-7.3/x86_64/APKINDEX.tar.gz v3.9.4-115-g8f0728f36c [http://dl-cdn.alpinelinux.org/alpine/v3.9/main] v3.9.4-108-gfec49fe212 [http://dl-cdn.alpinelinux.org/alpine/v3.9/community] php-7.3 [https://dl.bintray.com/php-alpine/v3.9/php-7.3] OK: 9997 distinct packages available (1/5) Upgrading musl (1.1.20-r4 -> 1.1.20-r5) (2/5) Upgrading musl-utils (1.1.20-r4 -> 1.1.20-r5) (3/5) Upgrading libbz2 (1.0.6-r6 -> 1.0.6-r7) (4/5) Upgrading libjpeg-turbo (1.5.3-r4 -> 1.5.3-r5) (5/5) Upgrading libgcrypt (1.8.4-r0 -> 1.8.4-r1) Executing busybox-1.29.3-r10.trigger OK: 76 MiB in 48 packages (1/17) Installing php7-common@php (7.3.5-r1) (2/17) Installing argon2-libs (20171227-r2) (3/17) Installing pcre2 (10.32-r1) (4/17) Installing php7@php (7.3.5-r1) (5/17) Installing php7-ctype@php (7.3.5-r1) (6/17) Installing php7-xml@php (7.3.5-r1) (7/17) Installing php7-dom@php (7.3.5-r1) (8/17) Installing php7-fpm@php (7.3.5-r1) (9/17) Installing php7-json@php (7.3.5-r1) (10/17) Installing php7-mbstring@php (7.3.5-r1) (11/17) Installing php7-openssl@php (7.3.5-r1) (12/17) Installing php7-pdo@php (7.3.5-r1) (13/17) Installing php7-mysqlnd (7.2.21-r0) (14/17) Installing php7-pdo_mysql (7.2.21-r0) (15/17) Installing php7-phar@php (7.3.5-r1) (16/17) Installing php7-session@php (7.3.5-r1) (17/17) Installing php7-zlib@php (7.3.5-r1) Executing busybox-1.29.3-r10.trigger

Using most up to date (as of writing) URL's...browsing to the 3.9/7.3 repo URL in browser does not mention a 7.2 mysql package so i'm a little baffled as to where this is getting pulled in from when running it via docker.

Also my docker file only specifies adding:

CONFIGURE ALPINE REPOSITORIES AND PHP BUILD DIR. RUN echo "@php https://dl.bintray.com/php-alpine/v3.9/php-7.3" >> /etc/apk/repositories

To the repositories file. However as you can see in the install script, the main/community URLs also get added somehow? So i'm thinking the 7.2 version is getting pulled in from one of those possibly? How to exclude if so?

hernandev commented 3 years ago

3.9 is deprecate, if the same issue happens on a supported version, please open a new issue