Skip to content

Commit bbeee8a

Browse files
committed
Adding PHP8.3
1 parent 0672317 commit bbeee8a

26 files changed

+542
-122
lines changed

.travis.yml

+51-49
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,21 @@ language: php
33
jobs:
44
include:
55
- dist: jammy
6-
language: minimal
7-
group: dev
86
env:
97
- RELEASE=jammy
108
name: jammy
119
php: "8.1"
1210
before_install:
1311
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
1412
- sudo apt-get update
15-
- sudo apt-get -y install libcurl4-openssl-dev
16-
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
13+
- sudo apt-get -y install libcurl4-openssl-dev php-dev libicu-dev php-pear php
14+
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 php-pear libargon2-0-dev php-dev libonig-dev; fi
1715
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
1816
- command -v expect || sudo apt-get install expect
1917
- |
2018
if ! command -v phpenv; then
2119
pushd $HOME
22-
curl -L http://git.io/phpenv-installer | bash
20+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
2321
popd
2422
export PHPENV_ROOT="/home/travis/.phpenv"
2523
if [ -d "${PHPENV_ROOT}" ]; then
@@ -28,49 +26,45 @@ jobs:
2826
fi
2927
fi
3028
- dist: focal
31-
language: __ubuntu_2004__
32-
group: dev
3329
env:
3430
- RELEASE=focal
3531
name: focal
36-
php: "5.6"
32+
php: "7.4"
3733
before_install:
3834
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
3935
- sudo apt-get update
40-
- sudo apt-get -y install libcurl4-openssl-dev
41-
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
36+
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
37+
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
4238
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
4339
- command -v expect || sudo apt-get install expect
4440
- |
4541
if ! command -v phpenv; then
4642
pushd $HOME
47-
curl -L http://git.io/phpenv-installer | bash
43+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
4844
popd
4945
export PHPENV_ROOT="/home/travis/.phpenv"
5046
if [ -d "${PHPENV_ROOT}" ]; then
5147
export PATH="${PHPENV_ROOT}/bin:${PATH}"
5248
eval "$(phpenv init -)"
5349
fi
5450
fi
55-
if: env(VERSION) !~ /^7\.[23]/
5651
- dist: bionic
57-
language: minimal
58-
group: dev
52+
group: stable
53+
php: "7.4"
5954
env:
6055
- RELEASE=bionic
6156
name: bionic
62-
php: "5.6"
6357
before_install:
6458
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
6559
- sudo apt-get update
66-
- sudo apt-get -y install libcurl4-openssl-dev
67-
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
60+
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
61+
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
6862
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
6963
- command -v expect || sudo apt-get install expect
7064
- |
7165
if ! command -v phpenv; then
7266
pushd $HOME
73-
curl -L http://git.io/phpenv-installer | bash
67+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
7468
popd
7569
export PHPENV_ROOT="/home/travis/.phpenv"
7670
if [ -d "${PHPENV_ROOT}" ]; then
@@ -79,19 +73,21 @@ jobs:
7973
fi
8074
fi
8175
- dist: xenial
82-
group: edge
76+
group: stable
8377
env:
8478
- RELEASE=xenial
8579
name: xenial
86-
php: "5.6"
80+
php: "7.4"
8781
before_install:
8882
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
8983
- sudo apt-get update
84+
- sudo apt-get install -y libicu-dev
85+
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install php-pear php-dev libonig-dev build-essential; fi
9086
- command -v expect || sudo apt-get install expect
9187
- |
9288
if ! command -v phpenv; then
9389
pushd $HOME
94-
curl -L http://git.io/phpenv-installer | bash
90+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
9591
popd
9692
export PHPENV_ROOT="/home/travis/.phpenv"
9793
if [ -d "${PHPENV_ROOT}" ]; then
@@ -100,14 +96,6 @@ jobs:
10096
fi
10197
fi
10298
103-
- services:
104-
- docker
105-
dist: trusty
106-
env:
107-
- RELEASE=trusty
108-
name: trusty
109-
php: "5.6"
110-
if: env(VERSION) =~ /^7\.[0-3]/
11199
- arch: ppc64le
112100
dist: jammy
113101
language: minimal
@@ -121,7 +109,7 @@ jobs:
121109
- |
122110
if ! command -v phpenv; then
123111
pushd $HOME
124-
curl -L http://git.io/phpenv-installer | bash
112+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
125113
popd
126114
export PHPENV_ROOT="/home/travis/.phpenv"
127115
if [ -d "${PHPENV_ROOT}" ]; then
@@ -142,7 +130,7 @@ jobs:
142130
- |
143131
if ! command -v phpenv; then
144132
pushd $HOME
145-
curl -L http://git.io/phpenv-installer | bash
133+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
146134
popd
147135
export PHPENV_ROOT="/home/travis/.phpenv"
148136
if [ -d "${PHPENV_ROOT}" ]; then
@@ -163,7 +151,7 @@ jobs:
163151
- |
164152
if ! command -v phpenv; then
165153
pushd $HOME
166-
curl -L http://git.io/phpenv-installer | bash
154+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
167155
popd
168156
export PHPENV_ROOT="/home/travis/.phpenv"
169157
if [ -d "${PHPENV_ROOT}" ]; then
@@ -181,11 +169,11 @@ jobs:
181169
before_install:
182170
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
183171
- sudo apt-get update
184-
- sudo apt-get -y -q=2 --no-install-recommends --no-install-suggests install libtidy-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libpq-dev libicu-dev libfreetype6-dev libldap2-dev libxslt-dev libssl-dev libldb-dev libc-client-dev libkrb5-dev libsasl2-dev libmcrypt-dev expect re2c libffi-dev
172+
- sudo apt-get -y -q=2 --no-install-recommends --no-install-suggests install libtidy-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libpq-dev libicu-dev libfreetype6-dev libldap2-dev libxslt-dev libssl-dev libldb-dev libc-client-dev libkrb5-dev libonig-dev libsasl2-dev libmcrypt-dev expect re2c libffi-dev
185173
- |
186174
if ! command -v phpenv; then
187175
pushd $HOME
188-
curl -L http://git.io/phpenv-installer | bash
176+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
189177
popd
190178
export PHPENV_ROOT="/home/travis/.phpenv"
191179
if [ -d "${PHPENV_ROOT}" ]; then
@@ -206,7 +194,7 @@ jobs:
206194
- |
207195
if ! command -v phpenv; then
208196
pushd $HOME
209-
curl -L http://git.io/phpenv-installer | bash
197+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
210198
popd
211199
export PHPENV_ROOT="/home/travis/.phpenv"
212200
if [ -d "${PHPENV_ROOT}" ]; then
@@ -228,7 +216,7 @@ jobs:
228216
- |
229217
if ! command -v phpenv; then
230218
pushd $HOME
231-
curl -L http://git.io/phpenv-installer | bash
219+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
232220
popd
233221
export PHPENV_ROOT="/home/travis/.phpenv"
234222
if [ -d "${PHPENV_ROOT}" ]; then
@@ -250,7 +238,7 @@ jobs:
250238
- |
251239
if ! command -v phpenv; then
252240
pushd $HOME
253-
curl -L http://git.io/phpenv-installer | bash
241+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
254242
popd
255243
export PHPENV_ROOT="/home/travis/.phpenv"
256244
if [ -d "${PHPENV_ROOT}" ]; then
@@ -269,11 +257,11 @@ jobs:
269257
before_install:
270258
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
271259
- sudo apt-get update
272-
- sudo apt-get -y -q=2 --no-install-recommends --no-install-suggests install libtidy-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libpq-dev libicu-dev libfreetype6-dev libldap2-dev libxslt-dev libssl-dev libldb-dev libc-client-dev libkrb5-dev libsasl2-dev libmcrypt-dev expect re2c libffi-dev
260+
- sudo apt-get -y -q=2 --no-install-recommends --no-install-suggests install libtidy-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libpq-dev libicu-dev libfreetype6-dev libldap2-dev libxslt-dev libssl-dev libldb-dev libc-client-dev libkrb5-dev libonig-dev libsasl2-dev libmcrypt-dev expect re2c libffi-dev
273261
- |
274262
if ! command -v phpenv; then
275263
pushd $HOME
276-
curl -L http://git.io/phpenv-installer | bash
264+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
277265
popd
278266
export PHPENV_ROOT="/home/travis/.phpenv"
279267
if [ -d "${PHPENV_ROOT}" ]; then
@@ -295,7 +283,7 @@ jobs:
295283
- |
296284
if ! command -v phpenv; then
297285
pushd $HOME
298-
curl -L http://git.io/phpenv-installer | bash
286+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
299287
popd
300288
export PHPENV_ROOT="/home/travis/.phpenv"
301289
if [ -d "${PHPENV_ROOT}" ]; then
@@ -316,7 +304,7 @@ jobs:
316304
- |
317305
if ! command -v phpenv; then
318306
pushd $HOME
319-
curl -L http://git.io/phpenv-installer | bash
307+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
320308
popd
321309
export PHPENV_ROOT="/home/travis/.phpenv"
322310
if [ -d "${PHPENV_ROOT}" ]; then
@@ -337,7 +325,7 @@ jobs:
337325
- |
338326
if ! command -v phpenv; then
339327
pushd $HOME
340-
curl -L http://git.io/phpenv-installer | bash
328+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
341329
popd
342330
export PHPENV_ROOT="/home/travis/.phpenv"
343331
if [ -d "${PHPENV_ROOT}" ]; then
@@ -355,11 +343,11 @@ jobs:
355343
before_install:
356344
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
357345
- sudo apt-get update
358-
- sudo apt-get -y -q=2 --no-install-recommends --no-install-suggests install libtidy-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libpq-dev libicu-dev libfreetype6-dev libldap2-dev libxslt-dev libssl-dev libldb-dev libc-client-dev libkrb5-dev libsasl2-dev libmcrypt-dev expect re2c libffi-dev
346+
- sudo apt-get -y -q=2 --no-install-recommends --no-install-suggests install libtidy-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libpq-dev libicu-dev libfreetype6-dev libldap2-dev libxslt-dev libssl-dev libldb-dev libc-client-dev libkrb5-dev libonig-dev libsasl2-dev libmcrypt-dev expect re2c libffi-dev
359347
- |
360348
if ! command -v phpenv; then
361349
pushd $HOME
362-
curl -L http://git.io/phpenv-installer | bash
350+
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
363351
popd
364352
export PHPENV_ROOT="/home/travis/.phpenv"
365353
if [ -d "${PHPENV_ROOT}" ]; then
@@ -370,7 +358,7 @@ jobs:
370358
env:
371359
global:
372360
- VERSION=master ALIAS=nightly
373-
- ICU_RELEASE=59.1
361+
- ICU_RELEASE=74.2
374362
- ICU_INSTALL_DIR=$HOME/.phpenv/versions/$VERSION
375363
- PATH="$HOME/.phpenv/bin:$HOME/.php-build/bin:$PATH"
376364

@@ -379,6 +367,7 @@ before_install:
379367

380368
install:
381369
- if [[ ! -d $HOME/.php-build ]]; then git clone https://github.com/php-build/php-build.git $HOME/.php-build; fi
370+
- ~/.php-build/install-dependencies.sh
382371
- rm -rf $HOME/.phpenv
383372
- git clone 'https://github.com/phpenv/phpenv.git' $HOME/.phpenv
384373
- eval "$($HOME/.phpenv/bin/phpenv init -)"
@@ -397,7 +386,7 @@ install:
397386
- touch custom_configure_options
398387
- ./bin/install-libzip
399388
- ./bin/install-libsodium
400-
- ./bin/install-password-argon2
389+
- sudo ./bin/install-password-argon2
401390
- . ./bin/install-onig # sourced to export ONIG_LIBS
402391
- MINOR_VERSION=`echo $VERSION | sed -E 's/^([0-9]+\.[0-9]+).*$/\1/'` # Rewrites 7.2, 7.2snapshot, 7.2.13 => '7.2'. Leaves 'master' as-is
403392
- |
@@ -423,6 +412,7 @@ install:
423412
fi
424413
425414
before_script:
415+
- "export COMPOSER_ALLOW_SUPERUSER=1"
426416
- "export LSB_RELEASE=${LSB_RELEASE:-$(lsb_release -rs || echo ${$(sw_vers -productVersion)%*.*})}"
427417
- 'export OS_NAME=${OS_NAME:-$(lsb_release -is | tr "A-Z" "a-z" || echo "osx")}'
428418
- "export ARCH=${ARCH:-$(uname -m)}"
@@ -435,17 +425,29 @@ script:
435425
- export PKG_CONFIG_PATH="$HOME/.phpenv/versions/$VERSION/lib/pkgconfig:$PKG_CONFIG_PATH"
436426
- ./bin/compile
437427
- | # disable 3rd-party extension builds on master
438-
if [[ ! $VERSION =~ ^master$ ]]; then
428+
if [[ $VERSION =~ ^7.3.* ]]; then
439429
(yes '' | ./bin/compile-extension-redis) &&
440-
(./bin/compile-extension-mongo;
441-
./bin/compile-extension-mongodb) &&
430+
(./bin/compile-extension-mongo) &&
442431
./bin/compile-extension-amqp &&
443432
./bin/compile-extension-apcu &&
444433
./bin/compile-extension-zmq &&
445434
(./bin/compile-extension-memcache;
446435
./bin/compile-extension-memcached) &&
447436
./bin/compile-extension-ssh2 &&
448437
sed -i '/^extension=/d' $INSTALL_DEST/$VERSION/etc/php.ini
438+
else
439+
if [[ ! $VERSION =~ ^master$ ]]; then
440+
(yes '' | ./bin/compile-extension-redis) &&
441+
(./bin/compile-extension-mongo;
442+
./bin/compile-extension-mongodb) &&
443+
./bin/compile-extension-amqp &&
444+
./bin/compile-extension-apcu &&
445+
./bin/compile-extension-zmq &&
446+
(./bin/compile-extension-memcache;
447+
./bin/compile-extension-memcached) &&
448+
./bin/compile-extension-ssh2 &&
449+
sed -i '/^extension=/d' $INSTALL_DEST/$VERSION/etc/php.ini
450+
fi
449451
fi
450452
451453
after_success:

bin/compile-extension-memcached

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ travis_time_start
1818
install_memcache
1919

2020
if [[ $VERSION =~ ^7 || $VERSION =~ ^8 || $VERSION =~ ^master$ ]]; then
21-
pecl download memcached-3.1.2
22-
tar zxvf memcached*.tgz && pushd memcached*/
21+
pecl download memcached-3.2.0
22+
ls -al
23+
tar xf /home/travis/build/travis-ci/php-src-builder/memcached-3.2.0.tgz && pushd memcached*/
2324
make clean || true
2425
else
2526
pecl download memcached-2.2.0

bin/compile-extension-mongodb

+16-10
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,23 @@ source $(dirname $0)/compile-extensions-common
55

66
travis_time_start
77

8-
if [[ $VERSION =~ ^master$ || $VERSION =~ snapshot$ ]]; then
9-
git clone https://github.com/mongodb/mongo-php-driver.git
10-
pushd mongo-php-driver
11-
git submodule update --init
12-
phpize
13-
./configure
14-
make all
15-
make install
16-
popd
8+
dist=$(lsb_release -cs)
9+
if [[ "${dist}" = "focal" || "${dist}" = "jammy" ]]; then
10+
if [[ $VERSION =~ ^master$ || $VERSION =~ snapshot$ ]]; then
11+
git clone https://github.com/mongodb/mongo-php-driver.git
12+
pushd mongo-php-driver
13+
git submodule update --init
14+
phpize
15+
./configure
16+
make all
17+
make install
18+
popd
19+
else
20+
pecl channel-update pecl.php.net
21+
no | pecl_install mongodb
22+
fi
1723
else
18-
pecl_install mongodb
24+
echo "MongoDB missing for PHP older than 7.4, tip set php at least 7.4 after installing php-dev"
1925
fi
2026

2127
travis_time_finish

bin/compile-extensions-common

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function pecl_install() {
3333
if [ $return = 0 ] || [ -f "$(pecl config-get ext_dir)/${extension}.so" ]; then
3434
echo "Extension ${extension} was already installed for PHP ${VERSION}."
3535
elif [ $return = 1 ]; then
36-
pecl -q install ${extension} | tee ${extension}-install.log
36+
sudo pecl -q install ${extension} | tee ${extension}-install.log
3737
if (tail -1 ${extension}-install.log | grep failed); then
3838
echo "There was an error installing extension ${extension} for PHP ${VERSION}:"
3939
echo "$result"

bin/install-libzip

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ if [[ $HOSTTYPE == "powerpc64le" || $HOSTTYPE == "s390x"|| $HOSTTYPE == "aarch64
2222
then
2323
wget -O - https://cmake.org/files/v3.14/cmake-3.14.0.tar.gz | tar -xz --strip-components=1
2424
#compile cmake
25-
./configure > /dev/null 2>&1 && make > /dev/null 2>&1 && sudo make install > /dev/null 2>&1
25+
./configure > /dev/null 2>&1 && make > /dev/null 2>&1 && make install > /dev/null 2>&1
2626
else
2727
wget https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0-Linux-x86_64.sh
2828
sudo sh cmake-3.14.0-Linux-x86_64.sh --prefix=/usr --skip-license

bin/install-password-argon2

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ git clone https://github.com/P-H-C/phc-winner-argon2.git libargon2
2222
# compile
2323
pushd libargon2
2424
make test
25-
sudo make install PREFIX=/usr
25+
make install PREFIX=/usr
2626
popd
2727

2828
echo "--with-password-argon2" >> $TRAVIS_BUILD_DIR/custom_configure_options

0 commit comments

Comments
 (0)