Skip to content

Commit

Permalink
Adding PHP8
Browse files Browse the repository at this point in the history
  • Loading branch information
smokodon committed Dec 22, 2023
1 parent 0672317 commit 70f8a75
Show file tree
Hide file tree
Showing 35 changed files with 544 additions and 127 deletions.
98 changes: 52 additions & 46 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,22 @@ language: php
jobs:
include:
- dist: jammy
language: minimal
group: dev
group: minimal
env:
- RELEASE=jammy
name: jammy
php: "8.1"
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- sudo apt-get -y install libcurl4-openssl-dev php-dev libicu-dev php-pear php
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 php-pear libargon2-0-dev php-dev libonig-dev; fi
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
- command -v expect || sudo apt-get install expect
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -28,49 +27,50 @@ jobs:
fi
fi
- dist: focal
language: __ubuntu_2004__
group: dev
language: minimal
group: stable
env:
- RELEASE=focal
name: focal
php: "5.6"
php: "7.4"
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
- command -v expect || sudo apt-get install expect
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
if: env(VERSION) !~ /^7\.[23]/
- dist: bionic
language: minimal
group: dev
group: stable
env:
- RELEASE=bionic
name: bionic
php: "5.6"
before_install:
# remove when Bionic image is fixed
- sudo rm -f /etc/apt/sources.list.d/pgdg.list
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
- command -v expect || sudo apt-get install expect
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -79,19 +79,21 @@ jobs:
fi
fi
- dist: xenial
group: edge
group: stable
env:
- RELEASE=xenial
name: xenial
php: "5.6"
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get install -y php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install php-dev php-pear libonig-dev; fi
- command -v expect || sudo apt-get install expect
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -100,14 +102,6 @@ jobs:
fi
fi
- services:
- docker
dist: trusty
env:
- RELEASE=trusty
name: trusty
php: "5.6"
if: env(VERSION) =~ /^7\.[0-3]/
- arch: ppc64le
dist: jammy
language: minimal
Expand All @@ -121,7 +115,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -142,7 +136,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -163,7 +157,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -181,11 +175,11 @@ jobs:
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- 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
- 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
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -206,7 +200,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -228,7 +222,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -250,7 +244,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -269,11 +263,11 @@ jobs:
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- 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
- 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
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -295,7 +289,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -316,7 +310,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -337,7 +331,7 @@ jobs:
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -355,11 +349,11 @@ jobs:
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- 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
- 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
- |
if ! command -v phpenv; then
pushd $HOME
curl -L http://git.io/phpenv-installer | bash
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
Expand All @@ -370,7 +364,7 @@ jobs:
env:
global:
- VERSION=master ALIAS=nightly
- ICU_RELEASE=59.1
- ICU_RELEASE=74.2
- ICU_INSTALL_DIR=$HOME/.phpenv/versions/$VERSION
- PATH="$HOME/.phpenv/bin:$HOME/.php-build/bin:$PATH"

Expand Down Expand Up @@ -433,19 +427,31 @@ script:
- echo "--enable-option-checking=fatal" >> $HOME/.php-build/share/php-build/default_configure_options
- cat $HOME/.php-build/share/php-build/default_configure_options
- export PKG_CONFIG_PATH="$HOME/.phpenv/versions/$VERSION/lib/pkgconfig:$PKG_CONFIG_PATH"
- ./bin/compile
- sudo ./bin/compile
- | # disable 3rd-party extension builds on master
if [[ ! $VERSION =~ ^master$ ]]; then
if [[ $VERSION =~ ^7.3.* ]]; then
(yes '' | ./bin/compile-extension-redis) &&
(./bin/compile-extension-mongo;
./bin/compile-extension-mongodb) &&
(./bin/compile-extension-mongo) &&
./bin/compile-extension-amqp &&
./bin/compile-extension-apcu &&
./bin/compile-extension-zmq &&
(./bin/compile-extension-memcache;
./bin/compile-extension-memcached) &&
./bin/compile-extension-ssh2 &&
sed -i '/^extension=/d' $INSTALL_DEST/$VERSION/etc/php.ini
else
if [[ ! $VERSION =~ ^master$ ]]; then
(yes '' | ./bin/compile-extension-redis) &&
(./bin/compile-extension-mongo;
./bin/compile-extension-mongodb) &&
./bin/compile-extension-amqp &&
./bin/compile-extension-apcu &&
./bin/compile-extension-zmq &&
(./bin/compile-extension-memcache;
./bin/compile-extension-memcached) &&
./bin/compile-extension-ssh2 &&
sed -i '/^extension=/d' $INSTALL_DEST/$VERSION/etc/php.ini
fi
fi
after_success:
Expand Down
8 changes: 4 additions & 4 deletions bin/compile
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,13 @@ export PATH="$HOME/.phpenv/bin:$HOME/.php-build/bin:$PATH"
buildDefinition=${VERSION}
if [[ $VERSION == nightly* || $VERSION == master* ]]; then
if [[ $RELEASE == jammy ]]; then
buildDefinition=8.1snapshot
buildDefinition=8.3snapshot
else
buildDefinition=8.0snapshot
fi
fi

php-build -i development "${buildDefinition}" "${INSTALL_DEST}/${VERSION}"
php-build -i development "${buildDefinition}" "${INSTALL_DEST}/${VERSION}" --verbose

pushd "${INSTALL_DEST}/${VERSION}"

Expand All @@ -91,7 +91,7 @@ rm go-pear.phar
ln -sv ../sbin/php-fpm bin/php-fpm

# composer and phpunit
curl -fsSL -o bin/composer http://getcomposer.org/composer.phar
wget -O /usr/local/bin/composer http://getcomposer.org/composer.phar
if [[ $VERSION == nightly* || $VERSION == master* || $VERSION == 7* || $VERSION == 8* ]]; then
PHPUNIT_ARCHIVE=phpunit.phar
elif [[ $VERSION == 5.6* ]]; then
Expand All @@ -101,7 +101,7 @@ else
fi
curl -fsSL -o bin/phpunit https://phar.phpunit.de/$PHPUNIT_ARCHIVE

chmod +x bin/composer bin/phpunit
chmod +x /usr/local/bin/composer bin/phpunit

popd

Expand Down
4 changes: 2 additions & 2 deletions bin/compile-extension-amqp
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ git clone https://github.com/alanxz/rabbitmq-c.git
pushd rabbitmq-c
git submodule init
git submodule update
autoreconf -i && ./configure --prefix $INSTALL_DEST/$VERSION && make && make install
autoreconf -i && ./configure --prefix $INSTALL_DEST/$VERSION && make && sudo make install

popd

git clone https://github.com/pdezwart/php-amqp.git
pushd php-amqp

phpize
./configure && make && make install
./configure && make && sudo make install
popd

travis_time_finish
Expand Down
4 changes: 2 additions & 2 deletions bin/compile-extension-apcu
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ source $(dirname $0)/compile-extensions-common
travis_time_start

if [[ ! $VERSION =~ ^7 && ! $VERSION =~ ^8 && ! $VERSION =~ ^master$ ]]; then
apcu=apcu-4.0.11
apcu=apcu-5.1.23
else
apcu=apcu
fi

pecl channel-update pecl.php.net
sudo pecl channel-update pecl.php.net

echo | pecl_install $apcu

Expand Down
2 changes: 1 addition & 1 deletion bin/compile-extension-memcache
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ if [[ ! $VERSION =~ ^7 && ! $VERSION =~ ^8 && ! $VERSION =~ ^master$ ]]; then
tar zxvf memcache*.tgz && pushd memcache*/
make clean || true
phpize
./configure && make && make install
./configure && make && sudo make install
popd
fi

Expand Down
4 changes: 2 additions & 2 deletions bin/compile-extension-memcached
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ function install_memcache() {
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar xzf libmemcached-1.0.18.tar.gz
pushd libmemcached-1.0.18
./configure --prefix=$INSTALL_DEST/$VERSION && make && make install
./configure --prefix=$INSTALL_DEST/$VERSION && make && sudo make install
popd
popd
}
Expand All @@ -27,7 +27,7 @@ else
make clean || true
fi
phpize
./configure --with-libmemcached-dir=$INSTALL_DEST/$VERSION && make && make install
./configure --with-libmemcached-dir=$INSTALL_DEST/$VERSION && make && sudo make install
popd

travis_time_finish
2 changes: 1 addition & 1 deletion bin/compile-extension-mongo
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ if [[ ! $VERSION =~ ^7 && ! $VERSION =~ ^8 && ! $VERSION =~ ^master$ ]]; then
pushd mongo-php-driver-legacy
git checkout 1.6.16
phpize
./configure && make && make install
./configure && make && sudo make install
popd
fi

Expand Down
Loading

0 comments on commit 70f8a75

Please sign in to comment.