Skip to content
Closed
19 changes: 16 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
git:
quiet: true

dist: trusty
dist: bionic
services:
- mysql
- postgresql
language: c
sudo: required
addons:
Expand All @@ -19,7 +22,6 @@ addons:
- librecode-dev
- libsasl2-dev
- libxpm-dev
- libt1-dev
- libzip-dev

notifications:
Expand Down Expand Up @@ -50,6 +52,16 @@ env:
- ENABLE_MAINTAINER_ZTS=0 ENABLE_DEBUG=0
- ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1

jobs:
include:
- env: LIBMYSQL=mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
- env: LIBMYSQL=mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
- env: LIBMYSQL=mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
allow_failures:
- env: LIBMYSQL=mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
- env: LIBMYSQL=mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
- env: LIBMYSQL=mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1

before_script:
- ccache --version
- ccache --zero-stats
Expand All @@ -67,7 +79,8 @@ before_script:

# Run PHPs run-tests.php
script:
- ./sapi/cli/php run-tests.php -P -d extension=`pwd`/modules/zend_test.so $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120
- if [ -n "$LIBMYSQL" ]; then TESTS="ext/mysqli/tests/*phpt ext/pdo_mysql/tests/*phpt" ; fi
- ./sapi/cli/php run-tests.php -P -d extension=`pwd`/modules/zend_test.so $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120 ${TESTS}
- sapi/cli/php -d extension_dir=`pwd`/modules -r 'dl("zend_test");'

after_success:
Expand Down
22 changes: 1 addition & 21 deletions ext/ftp/tests/ftp_ssl_connect_error.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,6 @@ echo "*** Testing ftp_ssl_connect() function : error conditions ***\n";
echo "\n-- Testing ftp_ssl_connect() function on failure --\n";
var_dump(ftp_ssl_connect('totes.invalid'));

echo "\n-- Testing ftp_ssl_connect() function invalid argument type --\n";
ftp_ssl_connect([]);
ftp_ssl_connect('totes.invalid', []);
ftp_ssl_connect('totes.invalid', 21, []);

echo "\n-- Testing ftp_ssl_connect() function with more than expected no. of arguments --\n";
ftp_ssl_connect('totes.invalid', 21, 1, []);

echo "\n-- Testing ftp_ssl_connect() function timeout warning for value 0 --\n";
ftp_ssl_connect('totes.invalid', 21, 0);

Expand All @@ -29,21 +21,9 @@ echo "===DONE===\n";

-- Testing ftp_ssl_connect() function on failure --

Warning: ftp_ssl_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
Warning: ftp_ssl_connect(): php_network_getaddresses: getaddrinfo failed: %s in %s on line %d
bool(false)

-- Testing ftp_ssl_connect() function invalid argument type --

Warning: ftp_ssl_connect() expects parameter 1 to be string, array given in %s on line %d

Warning: ftp_ssl_connect() expects parameter 2 to be int, array given in %s on line %d

Warning: ftp_ssl_connect() expects parameter 3 to be int, array given in %s on line %d

-- Testing ftp_ssl_connect() function with more than expected no. of arguments --

Warning: ftp_ssl_connect() expects at most 3 parameters, 4 given in %s on line %d

-- Testing ftp_ssl_connect() function timeout warning for value 0 --

Warning: ftp_ssl_connect(): Timeout has to be greater than 0 in %s on line %d
Expand Down
3 changes: 0 additions & 3 deletions ext/mysqli/config.m4
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,6 @@ elif test "$PHP_MYSQLI" != "no"; then
MYSQL_LIB_CFG='--libmysqld-libs'
dnl mysqlnd doesn't support embedded, so we have to add some extra stuff
mysqli_extra_sources="mysqli_embedded.c"
elif test "$enable_maintainer_zts" = "yes"; then
MYSQL_LIB_CFG='--libs_r'
MYSQL_LIB_NAME='mysqlclient_r'
else
MYSQL_LIB_CFG='--libs'
fi
Expand Down
43 changes: 23 additions & 20 deletions ext/mysqli/tests/bug55283.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ if ($IS_MYSQLND && !extension_loaded("openssl"))
if (!($link = @my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)))
die(sprintf("skip Connect failed, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

if (false === strpos($link->host_info, 'TCP/IP'))
die(sprintf("skip SSL only supported on TCP/IP"));

$row = NULL;
if ($res = $link->query('SHOW VARIABLES LIKE "have_ssl"')) {
$row = $res->fetch_row();
Expand All @@ -36,40 +39,40 @@ $link->close();
?>
--FILE--
<?php
include "connect.inc";
$db1 = new mysqli();
require_once "connect.inc";
$db1 = new mysqli();


$flags = MYSQLI_CLIENT_SSL | MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT;
$flags = MYSQLI_CLIENT_SSL | MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT;

$link = mysqli_init();
mysqli_ssl_set($link, null, null, null, null, "RC4-MD5");
if (my_mysqli_real_connect($link, 'p:' . $host, $user, $passwd, $db, $port, null, $flags)) {
$r = $link->query("SHOW STATUS LIKE 'Ssl_cipher'");
var_dump($r->fetch_row());
}
$link = mysqli_init();
mysqli_ssl_set($link, null, null, null, null, "AES256-SHA");
if (my_mysqli_real_connect($link, 'p:' . $host, $user, $passwd, $db, $port, null, $flags)) {
$r = $link->query("SHOW STATUS LIKE 'Ssl_cipher'");
var_dump($r->fetch_row());
}

/* non-persistent connection */
$link2 = mysqli_init();
mysqli_ssl_set($link2, null, null, null, null, "RC4-MD5");
if (my_mysqli_real_connect($link2, $host, $user, $passwd, $db, $port, null, $flags)) {
$r2 = $link2->query("SHOW STATUS LIKE 'Ssl_cipher'");
var_dump($r2->fetch_row());
}
/* non-persistent connection */
$link2 = mysqli_init();
mysqli_ssl_set($link2, null, null, null, null, "AES256-SHA");
if (my_mysqli_real_connect($link2, $host, $user, $passwd, $db, $port, null, $flags)) {
$r2 = $link2->query("SHOW STATUS LIKE 'Ssl_cipher'");
var_dump($r2->fetch_row());
}

echo "done\n";
echo "done\n";
?>
--EXPECT--
--EXPECTF--
array(2) {
[0]=>
string(10) "Ssl_cipher"
[1]=>
string(7) "RC4-MD5"
string(%d) "%rAES256-SHA|TLS_AES_256_GCM_SHA384%r"
}
array(2) {
[0]=>
string(10) "Ssl_cipher"
[1]=>
string(7) "RC4-MD5"
string(%d) "%rAES256-SHA|TLS_AES_256_GCM_SHA384%r"
}
done
9 changes: 2 additions & 7 deletions ext/pdo_mysql/config.m4
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,8 @@ if test "$PHP_PDO_MYSQL" != "no"; then
if test "x$SED" = "x"; then
AC_PATH_PROG(SED, sed)
fi
if test "$enable_maintainer_zts" = "yes"; then
PDO_MYSQL_LIBNAME=mysqlclient_r
PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs_r | $SED -e "s/'//g"`
else
PDO_MYSQL_LIBNAME=mysqlclient
PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs | $SED -e "s/'//g"`
fi
PDO_MYSQL_LIBNAME=mysqlclient
PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs | $SED -e "s/'//g"`
PDO_MYSQL_INCLUDE=`$PDO_MYSQL_CONFIG --cflags | $SED -e "s/'//g"`
elif test -n "$PDO_MYSQL_DIR"; then
AC_MSG_RESULT([not found])
Expand Down
6 changes: 2 additions & 4 deletions ext/standard/tests/network/gethostbyname_basic003.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ echo "*** Testing gethostbyname() : basic functionality ***\n";

echo gethostbyname("localhost")."\n";
?>
===DONE===
--EXPECT--
--EXPECTF--
*** Testing gethostbyname() : basic functionality ***
127.0.0.1
===DONE===
127.0.%d.1
33 changes: 27 additions & 6 deletions travis/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,40 @@ if [[ -z "$MAKE_LOG_FILE" ]]; then
else
MAKE_QUIET=""
fi

if [[ -n "$LIBMYSQL" ]]; then
case "$LIBMYSQL" in
*.gz) EXTRACT=zxf ;;
*.xz) EXTRACT=Jxf ;;
esac
MYSQL_BASE=${LIBMYSQL%%-linux-*}
MYSQL_VERSION=${MYSQL_BASE#*-}
MYSQL_DIR=$HOME/$MYSQL_BASE
mkdir -p $MYSQL_DIR
URL=https://cdn.mysql.com//Downloads/MySQL-${MYSQL_VERSION%.*}/$LIBMYSQL
wget $URL -O - | tar -${EXTRACT} - --strip-components=1 -C $MYSQL_DIR
fi
if [[ -z "$MYSQL_DIR" ]]; then
PDOMYSQL=mysqlnd
MYSQLI=mysqlnd
else
PDOMYSQL=${MYSQL_DIR}
[ -f ${MYSQL_DIR}/bin/mysql_config ] && MYSQLI=${MYSQL_DIR}/bin/mysql_config
fi
MAKE_JOBS=${MAKE_JOBS:-2}

./buildconf --force
./configure \
if [ ! -f ${TRAVIS_BUILD_DIR}/configure ]; then
(cd ${TRAVIS_BUILD_DIR} ; ./buildconf --force )
fi

${TRAVIS_BUILD_DIR}/configure \
--prefix="$HOME"/php-install \
$CONFIG_QUIET \
$DEBUG \
$TS \
--enable-phpdbg \
--enable-fpm \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=${PDOMYSQL} \
--with-mysqli=${MYSQLI} \
--with-pgsql \
--with-pdo-pgsql \
--with-pdo-sqlite \
Expand Down Expand Up @@ -78,7 +99,7 @@ $TS \
--with-kerberos \
--enable-sysvmsg \
--enable-zend-test=shared \
> "$CONFIG_LOG_FILE"
> "$CONFIG_LOG_FILE" || (cat config.log; exit 2)

make "-j${MAKE_JOBS}" $MAKE_QUIET > "$MAKE_LOG_FILE"
make install >> "$MAKE_LOG_FILE"