Fix c extension for php7.1. (#3077)
This commit is contained in:
parent
c2154e124d
commit
22319315df
@ -164,6 +164,14 @@ RUN cd php-7.0.18 && ./configure --enable-maintainer-zts --prefix=/usr/local/php
|
|||||||
RUN cd php-7.0.18 && make clean && ./configure --prefix=/usr/local/php-7.0 && \
|
RUN cd php-7.0.18 && make clean && ./configure --prefix=/usr/local/php-7.0 && \
|
||||||
make && make install && cd ..
|
make && make install && cd ..
|
||||||
|
|
||||||
|
RUN wget http://am1.php.net/get/php-7.1.4.tar.bz2/from/this/mirror
|
||||||
|
RUN mv mirror php-7.1.4.tar.bz2
|
||||||
|
RUN tar -xvf php-7.1.4.tar.bz2
|
||||||
|
RUN cd php-7.1.4 && ./configure --enable-maintainer-zts --prefix=/usr/local/php-7.1-zts && \
|
||||||
|
make && make install && cd ..
|
||||||
|
RUN cd php-7.1.4 && make clean && ./configure --prefix=/usr/local/php-7.1 && \
|
||||||
|
make && make install && cd ..
|
||||||
|
|
||||||
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||||
RUN php composer-setup.php
|
RUN php composer-setup.php
|
||||||
RUN mv composer.phar /usr/bin/composer
|
RUN mv composer.phar /usr/bin/composer
|
||||||
@ -190,7 +198,12 @@ RUN cd /tmp && \
|
|||||||
ln -sfn /usr/local/php-7.0/bin/php-config /usr/bin/php-config && \
|
ln -sfn /usr/local/php-7.0/bin/php-config /usr/bin/php-config && \
|
||||||
ln -sfn /usr/local/php-7.0/bin/phpize /usr/bin/phpize && \
|
ln -sfn /usr/local/php-7.0/bin/phpize /usr/bin/phpize && \
|
||||||
composer install && \
|
composer install && \
|
||||||
mv vendor /usr/local/vendor-7.0
|
mv vendor /usr/local/vendor-7.0 && \
|
||||||
|
ln -sfn /usr/local/php-7.1/bin/php /usr/bin/php && \
|
||||||
|
ln -sfn /usr/local/php-7.1/bin/php-config /usr/bin/php-config && \
|
||||||
|
ln -sfn /usr/local/php-7.1/bin/phpize /usr/bin/phpize && \
|
||||||
|
composer install && \
|
||||||
|
mv vendor /usr/local/vendor-7.1
|
||||||
|
|
||||||
##################
|
##################
|
||||||
# Go dependencies.
|
# Go dependencies.
|
||||||
|
@ -57,30 +57,6 @@ RUN apt-get clean && apt-get update && apt-get install -y --force-yes \
|
|||||||
|
|
||||||
##################
|
##################
|
||||||
# PHP dependencies.
|
# PHP dependencies.
|
||||||
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
|
||||||
RUN php composer-setup.php
|
|
||||||
RUN mv composer.phar /usr/bin/composer
|
|
||||||
RUN php -r "unlink('composer-setup.php');"
|
|
||||||
RUN cd /tmp && \
|
|
||||||
git clone https://github.com/google/protobuf.git && \
|
|
||||||
cd protobuf/php && \
|
|
||||||
git reset --hard 6b27c1f981a9a93918e4039f236ead27165a8e91 && \
|
|
||||||
ln -sfn /usr/bin/php5.5 /usr/bin/php && \
|
|
||||||
ln -sfn /usr/bin/php-config5.5 /usr/bin/php-config && \
|
|
||||||
ln -sfn /usr/bin/phpize5.5 /usr/bin/phpize && \
|
|
||||||
composer install && \
|
|
||||||
mv vendor /usr/local/vendor-5.5 && \
|
|
||||||
ln -sfn /usr/bin/php5.6 /usr/bin/php && \
|
|
||||||
ln -sfn /usr/bin/php-config5.6 /usr/bin/php-config && \
|
|
||||||
ln -sfn /usr/bin/phpize5.6 /usr/bin/phpize && \
|
|
||||||
composer install && \
|
|
||||||
mv vendor /usr/local/vendor-5.6 && \
|
|
||||||
ln -sfn /usr/bin/php7.0 /usr/bin/php && \
|
|
||||||
ln -sfn /usr/bin/php-config7.0 /usr/bin/php-config && \
|
|
||||||
ln -sfn /usr/bin/phpize7.0 /usr/bin/phpize && \
|
|
||||||
composer install && \
|
|
||||||
mv vendor /usr/local/vendor-7.0
|
|
||||||
|
|
||||||
RUN wget http://am1.php.net/get/php-5.5.38.tar.bz2/from/this/mirror
|
RUN wget http://am1.php.net/get/php-5.5.38.tar.bz2/from/this/mirror
|
||||||
RUN mv mirror php-5.5.38.tar.bz2
|
RUN mv mirror php-5.5.38.tar.bz2
|
||||||
RUN tar -xvf php-5.5.38.tar.bz2
|
RUN tar -xvf php-5.5.38.tar.bz2
|
||||||
@ -105,6 +81,45 @@ RUN cd php-7.0.18 && ./configure --enable-maintainer-zts --prefix=/usr/local/php
|
|||||||
RUN cd php-7.0.18 && make clean && ./configure --enable-bcmath --prefix=/usr/local/php-7.0 && \
|
RUN cd php-7.0.18 && make clean && ./configure --enable-bcmath --prefix=/usr/local/php-7.0 && \
|
||||||
make && make install && cd ..
|
make && make install && cd ..
|
||||||
|
|
||||||
|
RUN wget http://am1.php.net/get/php-7.1.4.tar.bz2/from/this/mirror
|
||||||
|
RUN mv mirror php-7.1.4.tar.bz2
|
||||||
|
RUN tar -xvf php-7.1.4.tar.bz2
|
||||||
|
RUN cd php-7.1.4 && ./configure --enable-maintainer-zts --prefix=/usr/local/php-7.1-zts && \
|
||||||
|
make && make install && cd ..
|
||||||
|
RUN cd php-7.1.4 && make clean && ./configure --enable-bcmath --prefix=/usr/local/php-7.1 && \
|
||||||
|
make && make install && cd ..
|
||||||
|
|
||||||
|
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||||
|
RUN php composer-setup.php
|
||||||
|
RUN mv composer.phar /usr/bin/composer
|
||||||
|
RUN php -r "unlink('composer-setup.php');"
|
||||||
|
RUN composer config -g -- disable-tls true
|
||||||
|
RUN composer config -g -- secure-http false
|
||||||
|
RUN cd /tmp && \
|
||||||
|
git clone https://github.com/google/protobuf.git && \
|
||||||
|
cd protobuf/php && \
|
||||||
|
git reset --hard 6b27c1f981a9a93918e4039f236ead27165a8e91 && \
|
||||||
|
ln -sfn /usr/local/php-5.5/bin/php /usr/bin/php && \
|
||||||
|
ln -sfn /usr/local/php-5.5/bin/php-config /usr/bin/php-config && \
|
||||||
|
ln -sfn /usr/local/php-5.5/bin/phpize /usr/bin/phpize && \
|
||||||
|
composer install && \
|
||||||
|
mv vendor /usr/local/vendor-5.5 && \
|
||||||
|
ln -sfn /usr/local/php-5.6/bin/php /usr/bin/php && \
|
||||||
|
ln -sfn /usr/local/php-5.6/bin/php-config /usr/bin/php-config && \
|
||||||
|
ln -sfn /usr/local/php-5.6/bin/phpize /usr/bin/phpize && \
|
||||||
|
composer install && \
|
||||||
|
mv vendor /usr/local/vendor-5.6 && \
|
||||||
|
ln -sfn /usr/local/php-7.0/bin/php /usr/bin/php && \
|
||||||
|
ln -sfn /usr/local/php-7.0/bin/php-config /usr/bin/php-config && \
|
||||||
|
ln -sfn /usr/local/php-7.0/bin/phpize /usr/bin/phpize && \
|
||||||
|
composer install && \
|
||||||
|
mv vendor /usr/local/vendor-7.0 && \
|
||||||
|
ln -sfn /usr/local/php-7.1/bin/php /usr/bin/php && \
|
||||||
|
ln -sfn /usr/local/php-7.1/bin/php-config /usr/bin/php-config && \
|
||||||
|
ln -sfn /usr/local/php-7.1/bin/phpize /usr/bin/phpize && \
|
||||||
|
composer install && \
|
||||||
|
mv vendor /usr/local/vendor-7.1
|
||||||
|
|
||||||
##################
|
##################
|
||||||
# Python dependencies
|
# Python dependencies
|
||||||
|
|
||||||
|
@ -116,7 +116,11 @@ static void message_set_property(zval* object, zval* member, zval* value,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if PHP_MAJOR_VERSION < 7 || (PHP_MAJOR_VERSION == 7 && PHP_MINOR_VERSION == 0)
|
||||||
if (Z_OBJCE_P(object) != EG(scope)) {
|
if (Z_OBJCE_P(object) != EG(scope)) {
|
||||||
|
#else
|
||||||
|
if (Z_OBJCE_P(object) != zend_get_executed_scope()) {
|
||||||
|
#endif
|
||||||
// User cannot set property directly (e.g., $m->a = 1)
|
// User cannot set property directly (e.g., $m->a = 1)
|
||||||
zend_error(E_USER_ERROR, "Cannot access private property.");
|
zend_error(E_USER_ERROR, "Cannot access private property.");
|
||||||
return;
|
return;
|
||||||
@ -146,7 +150,11 @@ static zval* message_get_property(zval* object, zval* member, int type,
|
|||||||
return PHP_PROTO_GLOBAL_UNINITIALIZED_ZVAL;
|
return PHP_PROTO_GLOBAL_UNINITIALIZED_ZVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if PHP_MAJOR_VERSION < 7 || (PHP_MAJOR_VERSION == 7 && PHP_MINOR_VERSION == 0)
|
||||||
if (Z_OBJCE_P(object) != EG(scope)) {
|
if (Z_OBJCE_P(object) != EG(scope)) {
|
||||||
|
#else
|
||||||
|
if (Z_OBJCE_P(object) != zend_get_executed_scope()) {
|
||||||
|
#endif
|
||||||
// User cannot get property directly (e.g., $a = $m->a)
|
// User cannot get property directly (e.g., $a = $m->a)
|
||||||
zend_error(E_USER_ERROR, "Cannot access private property.");
|
zend_error(E_USER_ERROR, "Cannot access private property.");
|
||||||
return PHP_PROTO_GLOBAL_UNINITIALIZED_ZVAL;
|
return PHP_PROTO_GLOBAL_UNINITIALIZED_ZVAL;
|
||||||
|
37
tests.sh
37
tests.sh
@ -545,16 +545,51 @@ build_php7.0_mac() {
|
|||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build_php7.1() {
|
||||||
|
use_php 7.1
|
||||||
|
pushd php
|
||||||
|
rm -rf vendor
|
||||||
|
cp -r /usr/local/vendor-7.1 vendor
|
||||||
|
wget https://phar.phpunit.de/phpunit-5.6.0.phar -O /usr/bin/phpunit
|
||||||
|
phpunit
|
||||||
|
popd
|
||||||
|
pushd conformance
|
||||||
|
# TODO(teboring): Add it back
|
||||||
|
# make test_php
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
build_php7.1_c() {
|
||||||
|
use_php 7.1
|
||||||
|
wget https://phar.phpunit.de/phpunit-5.6.0.phar -O /usr/bin/phpunit
|
||||||
|
cd php/tests && /bin/bash ./test.sh && cd ../..
|
||||||
|
pushd conformance
|
||||||
|
# make test_php_c
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
build_php7.1_zts_c() {
|
||||||
|
use_php_zts 7.1
|
||||||
|
wget https://phar.phpunit.de/phpunit-5.6.0.phar -O /usr/bin/phpunit
|
||||||
|
cd php/tests && /bin/bash ./test.sh && cd ../..
|
||||||
|
pushd conformance
|
||||||
|
# make test_php_c
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
build_php_all() {
|
build_php_all() {
|
||||||
build_php5.5
|
build_php5.5
|
||||||
build_php5.6
|
build_php5.6
|
||||||
build_php7.0
|
build_php7.0
|
||||||
|
build_php7.1
|
||||||
build_php5.5_c
|
build_php5.5_c
|
||||||
build_php5.6_c
|
build_php5.6_c
|
||||||
build_php7.0_c
|
build_php7.0_c
|
||||||
|
build_php7.1_c
|
||||||
build_php5.5_zts_c
|
build_php5.5_zts_c
|
||||||
build_php5.6_zts_c
|
build_php5.6_zts_c
|
||||||
build_php7.0_zts_c
|
build_php7.0_zts_c
|
||||||
|
build_php7.1_zts_c
|
||||||
}
|
}
|
||||||
|
|
||||||
# Note: travis currently does not support testing more than one language so the
|
# Note: travis currently does not support testing more than one language so the
|
||||||
@ -595,6 +630,8 @@ Usage: $0 { cpp |
|
|||||||
php5.6_c |
|
php5.6_c |
|
||||||
php7.0 |
|
php7.0 |
|
||||||
php7.0_c |
|
php7.0_c |
|
||||||
|
php7.1 |
|
||||||
|
php7.1_c |
|
||||||
php_all)
|
php_all)
|
||||||
"
|
"
|
||||||
exit 1
|
exit 1
|
||||||
|
Loading…
Reference in New Issue
Block a user