I want to use Google AppEngine Flexible Environment with PHP 7. So, I used Dockerfile to use PHP 7 in FE.You can see my app.yaml, docker file, helloworld.php.
App.yaml
runtime: custom
env: flex
api_version: 1
handlers:
- url: /.*
script: helloworld.php
Dockerfile
# Copyright 2015 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Dockerfile for PHP 5.6 using nginx as the webserver.
FROM gcr.io/google_appengine/base
# persistent / runtime deps
RUN apt-get update && \
apt-get -y upgrade && \
apt-get install -y --no-install-recommends \
cron \
curl \
gettext \
git \
libbz2-1.0 \
libicu52 \
libmcrypt4 \
libmemcached11 \
libmemcachedutil2 \
libpcre3 \
libpng12-0 \
libpq5 \
libreadline6 \
librecode0 \
libsqlite3-0 \
libxml2 \
libxslt1.1 \
logrotate \
mercurial \
subversion \
supervisor \
zlib1g
ENV NGINX_DIR=/opt/nginx \
PHP_DIR=/opt/php \
PHP56_DIR=/opt/php56 \
PHP7_DIR=/opt/php7 \
LOG_DIR=/var/log/app_engine \
APP_DIR=/app \
NGINX_USER_CONF_DIR=/etc/nginx/conf.d \
UPLOAD_DIR=/upload \
SESSION_SAVE_PATH=/tmp/sessions \
NGINX_VERSION=1.10.1 \
PHP56_VERSION=5.6.26 \
PHP70_VERSION=7.0.11 \
PATH=/opt/php/bin:$PATH \
WWW_HOME=/var/www
# gpgkeys for verifying the tarballs
COPY gpgkeys /gpgkeys
# BUILD PHP, nginx and other dependencies.
COPY build-scripts /build-scripts
RUN /bin/bash /build-scripts/apt_build_deps.sh install && \
/bin/bash /build-scripts/build_nginx.sh && \
/bin/bash /build-scripts/build_php56.sh && \
/bin/bash /build-scripts/build_php70.sh && \
/bin/bash /build-scripts/apt_build_deps.sh uninstall
EXPOSE 8080
# Lock down the web directories
RUN mkdir -p $APP_DIR $LOG_DIR $UPLOAD_DIR $SESSION_SAVE_PATH \
$NGINX_USER_CONF_DIR $WWW_HOME\
&& chown -R www-data.www-data \
$APP_DIR $UPLOAD_DIR $SESSION_SAVE_PATH $LOG_DIR \
$NGINX_USER_CONF_DIR $WWW_HOME \
&& chmod 755 $UPLOAD_DIR $SESSION_SAVE_PATH \
# For easy access to php with `su www-data -c $CMD`
&& ln -sf ${PHP_DIR}/bin/php /usr/bin/php
# Put config files into place.
COPY nginx.conf fastcgi_params gzip_params $NGINX_DIR/conf/
COPY nginx-app.conf $NGINX_USER_CONF_DIR
COPY php.ini php-cli.ini php-cli-strict.ini $PHP56_DIR/lib/
COPY php.ini php-cli.ini php-cli-strict.ini $PHP7_DIR/lib/
COPY php-fpm.conf $PHP56_DIR/etc/php-fpm.conf
COPY php-fpm.conf $PHP7_DIR/etc/php-fpm.conf
RUN touch $PHP56_DIR/etc/php-fpm-user.conf $PHP7_DIR/etc/php-fpm-user.conf
COPY supervisord.conf /etc/supervisor/supervisord.conf
COPY logrotate.app_engine /etc/logrotate.d/app_engine
COPY entrypoint.sh composer.sh whitelist_functions.php /
RUN chgrp www-data composer.sh && chmod +x /entrypoint.sh /composer.sh \
# Temporary enable the shell for www-data
# We will disable it in entrypoint.sh
&& chsh -s /bin/bash www-data
# A script for extracting PHP version from composer.json.
COPY detect_php_version.php /tmp/detect_php_version.php
RUN chgrp www-data /tmp/detect_php_version.php && cd /tmp \
&& su www-data -c "php /usr/local/bin/composer require composer/semver"
# Copy the app and change the owner
ONBUILD COPY . $APP_DIR
ONBUILD RUN chown -R www-data.www-data $APP_DIR
WORKDIR $APP_DIR
ONBUILD RUN /composer.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/usr/bin/supervisord"]
helloworld.php
<?php
echo 'Hello, World!';
?>
I deployed my sample PHP FE using Cloud shell Command line.. After gcloud app deploy.Please refer the below.
user@projectname:~/corephp$ gcloud app deploy
You are about to deploy the following services:
- projectname/default/20170105t174829 (from [/home/user/corephp/app.yaml])
Deploying to URL: [https://projectname.appspot.com]
Do you want to continue (Y/n)? Y
If this is your first deployment, this may take a while...done.
Beginning deployment of service [default]...
WARNING: Deployment of App Engine Flexible Environment apps is currently in Beta
WARNING: Could not generate [source-context.json]: Could not list remote URLs from source directory: /home/user/corephp
Building and pushing image for service [default]
Started cloud build [49476e94-25eb-453a-86cb-77b54c49e602].
To see logs in the Cloud Console: https://console.developers.google.com/logs/viewer?resource=build&project=projectname&filters=text:49476e94-25eb-453a-86cb-77b54c49e602
---------------------------------------------------------------------------------------- REMOTE BUILD OUTPUT -----------------------------------------------------------------------------------------
starting build "49476e94-25eb-453a-86cb-77b54c49e602"
FETCHSOURCE
Fetching storage object: gs://staging.projectname.appspot.com/us.gcr.io/projectname/appengine/default.20170105t174829:latest#1483618722272000
Copying gs://staging.projectname.appspot.com/us.gcr.io/projectname/appengine/default.20170105t174829:latest#1483618722272000...
Downloading file:///tmp/source-archive.tgz: 1.74 KiB/1.74 KiB
BUILD
Already have image (with digest): gcr.io/cloud-builders/docker
Sending build context to Docker daemon 7.68 kB
Step 1 : FROM gcr.io/google_appengine/base
---> 8d1b0e0966ef
Step 2 : RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-recommends cron curl gettext git libbz2-1.0 libicu52 libmcrypt4 libmemcached11 libmemcachedutil2 libpcre3 libpng12-0 libpq5 libreadline6 librecode0 libsqlite3-0 libxml2 libxslt1.1 logrotate mercurial subversion supervisor zlib1g
---> Running in d82d2fa68c69
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]
Ign http://httpredir.debian.org jessie InRelease
Get:2 http://httpredir.debian.org jessie-updates InRelease [145 kB]
Get:3 http://security.debian.org jessie/updates/main amd64 Packages [428 kB]
Get:4 http://httpredir.debian.org jessie Release.gpg [2373 B]
Get:5 http://httpredir.debian.org jessie Release [148 kB]
Get:6 http://httpredir.debian.org jessie-updates/main amd64 Packages [17.6 kB]
Get:7 http://httpredir.debian.org jessie/main amd64 Packages [9064 kB]
Fetched 9869 kB in 3s (2645 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be upgraded:
apt libapt-pkg4.12 tzdata
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2087 kB of archives.
After this operation, 3072 B of additional disk space will be used.
Get:1 http://security.debian.org/ jessie/updates/main libapt-pkg4.12 amd64 1.0.9.8.4 [792 kB]
Get:2 http://httpredir.debian.org/debian/ jessie-updates/main tzdata all 2016j-0+deb8u1 [186 kB]
Get:3 http://security.debian.org/ jessie/updates/main apt amd64 1.0.9.8.4 [1109 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 2087 kB in 0s (5830 kB/s)
(Reading database ... 7768 files and directories currently installed.)
Preparing to unpack .../libapt-pkg4.12_1.0.9.8.4_amd64.deb ...
Unpacking libapt-pkg4.12:amd64 (1.0.9.8.4) over (1.0.9.8.3) ...
Setting up libapt-pkg4.12:amd64 (1.0.9.8.4) ...
Processing triggers for libc-bin (2.19-18+deb8u6) ...
(Reading database ... 7768 files and directories currently installed.)
Preparing to unpack .../apt_1.0.9.8.4_amd64.deb ...
Unpacking apt (1.0.9.8.4) over (1.0.9.8.3) ...
Setting up apt (1.0.9.8.4) ...
Processing triggers for libc-bin (2.19-18+deb8u6) ...
(Reading database ... 7768 files and directories currently installed.)
Preparing to unpack .../tzdata_2016j-0+deb8u1_all.deb ...
Unpacking tzdata (2016j-0+deb8u1) over (2016i-0+deb8u1) ...
Setting up tzdata (2016j-0+deb8u1) ...
Current default time zone: 'Etc/UTC'
Local time is now: Thu Jan 5 12:19:06 UTC 2017.
Universal Time is now: Thu Jan 5 12:19:06 UTC 2017.
Run 'dpkg-reconfigure tzdata' if you wish to change it.
Reading package lists...
Building dependency tree...
Reading state information...
libbz2-1.0 is already the newest version.
libpcre3 is already the newest version.
libreadline6 is already the newest version.
zlib1g is already the newest version.
The following extra packages will be installed:
gettext-base git-man init-system-helpers libapr1 libaprutil1 libasprintf0c2
libcroco3 libcurl3 libcurl3-gnutls liberror-perl libexpat1 libffi6 libgdbm3
libglib2.0-0 libgmp10 libgnutls-deb0-28 libgomp1 libgssapi-krb5-2
libhogweed2 libidn11 libjs-excanvas libk5crypto3 libkeyutils1 libkrb5-3
libkrb5support0 libldap-2.4-2 libnettle4 libp11-kit0 libpopt0
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib librtmp1
libsasl2-2 libsasl2-modules-db libserf-1-1 libssh2-1 libsvn1 libtasn1-6
libunistring0 mercurial-common mime-support perl perl-modules python
python-meld3 python-minimal python-pkg-resources python2.7 python2.7-minimal
ucf
Suggested packages:
anacron checksecurity gettext-doc git-daemon-run git-daemon-sysvinit git-doc
git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn
gnutls-bin krb5-doc krb5-user libmcrypt-dev mcrypt qct kdiff3 kdiff3-qt
kompare meld tkcvs mgdiff wish python-mysqldb python-pygments python-openssl
perl-doc libterm-readline-gnu-perl libterm-readline-perl-perl make
libb-lint-perl libcpanplus-dist-build-perl libcpanplus-perl
libfile-checktree-perl liblog-message-simple-perl liblog-message-perl
libobject-accessor-perl python-doc python-tk python-distribute
python-distribute-doc python2.7-doc binutils binfmt-support subversion-tools
db5.3-util
Recommended packages:
exim4 postfix mail-transport-agent autopoint libasprintf-dev
libgettextpo-dev patch less rsync ssh-client libglib2.0-data
shared-mime-info xdg-user-dirs javascript-common krb5-locales
libsasl2-modules xml-core mailx openssh-client file netbase rename
libarchive-extract-perl libmodule-pluggable-perl libpod-latex-perl
libterm-ui-perl libtext-soundex-perl libcgi-pm-perl libmodule-build-perl
libpackage-constants-perl
The following NEW packages will be installed:
cron curl gettext gettext-base git git-man init-system-helpers libapr1
libaprutil1 libasprintf0c2 libcroco3 libcurl3 libcurl3-gnutls liberror-perl
libexpat1 libffi6 libgdbm3 libglib2.0-0 libgmp10 libgnutls-deb0-28 libgomp1
libgssapi-krb5-2 libhogweed2 libicu52 libidn11 libjs-excanvas libk5crypto3
libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 libmcrypt4
libmemcached11 libmemcachedutil2 libnettle4 libp11-kit0 libpng12-0 libpopt0
libpq5 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib librecode0
librtmp1 libsasl2-2 libsasl2-modules-db libserf-1-1 libsqlite3-0 libssh2-1
libsvn1 libtasn1-6 libunistring0 libxml2 libxslt1.1 logrotate mercurial
mercurial-common mime-support perl perl-modules python python-meld3
python-minimal python-pkg-resources python2.7 python2.7-minimal subversion
supervisor ucf
0 upgraded, 69 newly installed, 0 to remove and 0 not upgraded.
Need to get 35.6 MB of archives.
After this operation, 151 MB of additional disk space will be used.
Get:1 http://security.debian.org/ jessie/updates/main libxml2 amd64 2.9.1+dfsg1-5+deb8u4 [802 kB]
Get:2 http://httpredir.debian.org/debian/ jessie/main init-system-helpers all 1.22 [14.0 kB]
Get:3 http://httpredir.debian.org/debian/ jessie/main cron amd64 3.0pl1-127+deb8u1 [94.0 kB]
Get:4 http://security.debian.org/ jessie/updates/main libcurl3 amd64 7.38.0-4+deb8u5 [259 kB]
Get:5 http://security.debian.org/ jessie/updates/main libcurl3-gnutls amd64 7.38.0-4+deb8u5 [252 kB]
Get:6 http://httpredir.debian.org/debian/ jessie/main libgdbm3 amd64 1.8.3-13.1 [30.0 kB]
Get:7 http://httpredir.debian.org/debian/ jessie/main libnettle4 amd64 2.7.1-5+deb8u1 [176 kB]
Get:8 http://security.debian.org/ jessie/updates/main libicu52 amd64 52.1-8+deb8u4 [6791 kB]
Get:9 http://httpredir.debian.org/debian/ jessie/main libhogweed2 amd64 2.7.1-5+deb8u1 [126 kB]
Get:10 http://httpredir.debian.org/debian/ jessie/main libffi6 amd64 3.1-2+b2 [20.1 kB]
Get:11 http://httpredir.debian.org/debian/ jessie/main libtasn1-6 amd64 4.2-3+deb8u2 [49.0 kB]
Get:12 http://httpredir.debian.org/debian/ jessie/main libpopt0 amd64 1.16-10 [49.2 kB]
Get:13 http://httpredir.debian.org/debian/ jessie/main libgnutls-deb0-28 amd64 3.3.8-6+deb8u3 [694 kB]
Get:14 http://httpredir.debian.org/debian/ jessie/main libk5crypto3 amd64 1.12.1+dfsg-19+deb8u2 [115 kB]
Get:15 http://httpredir.debian.org/debian/ jessie/main libasprintf0c2 amd64 0.19.3-2 [31.3 kB]
Get:16 http://httpredir.debian.org/debian/ jessie/main libgmp10 amd64 2:6.0.0+dfsg-6 [253 kB]
Get:17 http://httpredir.debian.org/debian/ jessie/main libsasl2-modules-db amd64 2.1.26.dfsg1-13+deb8u1 [67.1 kB]
Get:18 http://httpredir.debian.org/debian/ jessie/main libsasl2-2 amd64 2.1.26.dfsg1-13+deb8u1 [105 kB]
Get:19 http://httpredir.debian.org/debian/ jessie/main libldap-2.4-2 amd64 2.4.40+dfsg-1+deb8u2 [218 kB]
Get:20 http://httpredir.debian.org/debian/ jessie/main libsqlite3-0 amd64 3.8.7.1-1+deb8u2 [438 kB]
Get:21 http://httpredir.debian.org/debian/ jessie/main perl-modules all 5.20.2-3+deb8u6 [2547 kB]
Get:22 http://httpredir.debian.org/debian/ jessie/main perl amd64 5.20.2-3+deb8u6 [2637 kB]
Get:23 http://httpredir.debian.org/debian/ jessie/main libp11-kit0 amd64 0.20.7-1 [81.2 kB]
Get:24 http://httpredir.debian.org/debian/ jessie/main libpython2.7-minimal amd64 2.7.9-2+deb8u1 [378 kB]
Get:25 http://httpredir.debian.org/debian/ jessie/main libkeyutils1 amd64 1.5.9-5+b1 [12.0 kB]
Get:26 http://httpredir.debian.org/debian/ jessie/main libkrb5support0 amd64 1.12.1+dfsg-19+deb8u2 [59.1 kB]
Get:27 http://httpredir.debian.org/debian/ jessie/main libkrb5-3 amd64 1.12.1+dfsg-19+deb8u2 [303 kB]
Get:28 http://httpredir.debian.org/debian/ jessie/main libpython-stdlib amd64 2.7.9-1 [19.5 kB]
Get:29 http://httpredir.debian.org/debian/ jessie/main libapr1 amd64 1.5.1-3 [95.3 kB]
Get:30 http://httpredir.debian.org/debian/ jessie/main libaprutil1 amd64 1.5.4-1 [86.2 kB]
Get:31 http://httpredir.debian.org/debian/ jessie/main libglib2.0-0 amd64 2.42.1-1+b1 [2401 kB]
Get:32 http://httpredir.debian.org/debian/ jessie/main libgssapi-krb5-2 amd64 1.12.1+dfsg-19+deb8u2 [152 kB]
Get:33 http://httpredir.debian.org/debian/ jessie/main librtmp1 amd64 2.4+20150115.gita107cef-1 [59.8 kB]
Get:34 http://httpredir.debian.org/debian/ jessie/main libmemcached11 amd64 1.0.18-4 [95.2 kB]
Get:35 http://httpredir.debian.org/debian/ jessie/main libidn11 amd64 1.29-1+deb8u2 [136 kB]
Get:36 http://httpredir.debian.org/debian/ jessie/main libpng12-0 amd64 1.2.50-2+deb8u2 [173 kB]
Get:37 http://httpredir.debian.org/debian/ jessie/main libpq5 amd64 9.4.9-0+deb8u1 [124 kB]
Get:38 http://httpredir.debian.org/debian/ jessie/main python2.7-minimal amd64 2.7.9-2+deb8u1 [1401 kB]
Get:39 http://httpredir.debian.org/debian/ jessie/main librecode0 amd64 3.6-21 [529 kB]
Get:40 http://httpredir.debian.org/debian/ jessie/main libsvn1 amd64 1.8.10-6+deb8u4 [1076 kB]
Get:41 http://httpredir.debian.org/debian/ jessie/main libunistring0 amd64 0.9.3-5.2+b1 [288 kB]
Get:42 http://httpredir.debian.org/debian/ jessie/main logrotate amd64 3.8.7-1+b1 [52.2 kB]
Get:43 http://httpredir.debian.org/debian/ jessie/main gettext-base amd64 0.19.3-2 [121 kB]
Get:44 http://security.debian.org/ jessie/updates/main libxslt1.1 amd64 1.1.28-2+deb8u2 [232 kB]
Get:45 http://httpredir.debian.org/debian/ jessie/main ucf all 3.0030 [69.7 kB]
Get:46 http://security.debian.org/ jessie/updates/main curl amd64 7.38.0-4+deb8u5 [200 kB]
Get:47 http://httpredir.debian.org/debian/ jessie/main git-man all 1:2.1.4-2.1+deb8u2 [1267 kB]
Get:48 http://httpredir.debian.org/debian/ jessie/main libjs-excanvas all 0.r3-3 [48.8 kB]
Get:49 http://httpredir.debian.org/debian/ jessie/main libmcrypt4 amd64 2.5.8-3.3 [71.2 kB]
Get:50 http://httpredir.debian.org/debian/ jessie/main mercurial-common all 3.1.2-2+deb8u3 [1601 kB]
Get:51 http://httpredir.debian.org/debian/ jessie/main python-minimal amd64 2.7.9-1 [40.3 kB]
Get:52 http://httpredir.debian.org/debian/ jessie/main mime-support all 3.58 [36.0 kB]
Get:53 http://httpredir.debian.org/debian/ jessie/main mercurial amd64 3.1.2-2+deb8u3 [60.0 kB]
Get:54 http://httpredir.debian.org/debian/ jessie/main python-pkg-resources all 5.5.1-1 [64.4 kB]
Get:55 http://httpredir.debian.org/debian/ jessie/main libexpat1 amd64 2.1.0-6+deb8u3 [80.0 kB]
Get:56 http://httpredir.debian.org/debian/ jessie/main subversion amd64 1.8.10-6+deb8u4 [923 kB]
Get:57 http://httpredir.debian.org/debian/ jessie/main libpython2.7-stdlib amd64 2.7.9-2+deb8u1 [1847 kB]
Get:58 http://httpredir.debian.org/debian/ jessie/main python-meld3 amd64 1.0.0-1 [37.0 kB]
Get:59 http://httpredir.debian.org/debian/ jessie/main python2.7 amd64 2.7.9-2+deb8u1 [252 kB]
Get:60 http://httpredir.debian.org/debian/ jessie/main python amd64 2.7.9-1 [151 kB]
Get:61 http://httpredir.debian.org/debian/ jessie/main libcroco3 amd64 0.6.8-3+b1 [135 kB]
Get:62 http://httpredir.debian.org/debian/ jessie/main libssh2-1 amd64 1.4.3-4.1+deb8u1 [125 kB]
Get:63 http://httpredir.debian.org/debian/ jessie/main libgomp1 amd64 4.9.2-10 [37.8 kB]
Get:64 http://httpredir.debian.org/debian/ jessie/main libmemcachedutil2 amd64 1.0.18-4 [22.3 kB]
Get:65 http://httpredir.debian.org/debian/ jessie/main libserf-1-1 amd64 1.3.8-1 [52.8 kB]
Get:66 http://httpredir.debian.org/debian/ jessie/main gettext amd64 0.19.3-2 [1240 kB]
Get:67 http://httpredir.debian.org/debian/ jessie/main liberror-perl all 0.17-1.1 [22.4 kB]
Get:68 http://httpredir.debian.org/debian/ jessie/main git amd64 1:2.1.4-2.1+deb8u2 [3262 kB]
Get:69 http://httpredir.debian.org/debian/ jessie/main supervisor all 3.0r1-1 [267 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 35.6 MB in 3s (9398 kB/s)
Selecting previously unselected package init-system-helpers.
(Reading database ... 7774 files and directories currently installed.)
Preparing to unpack .../init-system-helpers_1.22_all.deb ...
Unpacking init-system-helpers (1.22) ...
Selecting previously unselected package cron.
Preparing to unpack .../cron_3.0pl1-127+deb8u1_amd64.deb ...
Unpacking cron (3.0pl1-127+deb8u1) ...
Selecting previously unselected package libgdbm3:amd64.
Preparing to unpack .../libgdbm3_1.8.3-13.1_amd64.deb ...
Unpacking libgdbm3:amd64 (1.8.3-13.1) ...
Selecting previously unselected package libpopt0:amd64.
Preparing to unpack .../libpopt0_1.16-10_amd64.deb ...
Unpacking libpopt0:amd64 (1.16-10) ...
Selecting previously unselected package libasprintf0c2:amd64.
Preparing to unpack .../libasprintf0c2_0.19.3-2_amd64.deb ...
Unpacking libasprintf0c2:amd64 (0.19.3-2) ...
Selecting previously unselected package libgmp10:amd64.
Preparing to unpack .../libgmp10_2%3a6.0.0+dfsg-6_amd64.deb ...
Unpacking libgmp10:amd64 (2:6.0.0+dfsg-6) ...
Selecting previously unselected package libnettle4:amd64.
Preparing to unpack .../libnettle4_2.7.1-5+deb8u1_amd64.deb ...
Unpacking libnettle4:amd64 (2.7.1-5+deb8u1) ...
Selecting previously unselected package libhogweed2:amd64.
Preparing to unpack .../libhogweed2_2.7.1-5+deb8u1_amd64.deb ...
Unpacking libhogweed2:amd64 (2.7.1-5+deb8u1) ...
Selecting previously unselected package libffi6:amd64.
Preparing to unpack .../libffi6_3.1-2+b2_amd64.deb ...
Unpacking libffi6:amd64 (3.1-2+b2) ...
Selecting previously unselected package libp11-kit0:amd64.
Preparing to unpack .../libp11-kit0_0.20.7-1_amd64.deb ...
Unpacking libp11-kit0:amd64 (0.20.7-1) ...
Selecting previously unselected package libtasn1-6:amd64.
Preparing to unpack .../libtasn1-6_4.2-3+deb8u2_amd64.deb ...
Unpacking libtasn1-6:amd64 (4.2-3+deb8u2) ...
Selecting previously unselected package libgnutls-deb0-28:amd64.
Preparing to unpack .../libgnutls-deb0-28_3.3.8-6+deb8u3_amd64.deb ...
Unpacking libgnutls-deb0-28:amd64 (3.3.8-6+deb8u3) ...
Selecting previously unselected package libkeyutils1:amd64.
Preparing to unpack .../libkeyutils1_1.5.9-5+b1_amd64.deb ...
Unpacking libkeyutils1:amd64 (1.5.9-5+b1) ...
Selecting previously unselected package libkrb5support0:amd64.
Preparing to unpack .../libkrb5support0_1.12.1+dfsg-19+deb8u2_amd64.deb ...
Unpacking libkrb5support0:amd64 (1.12.1+dfsg-19+deb8u2) ...
Selecting previously unselected package libk5crypto3:amd64.
Preparing to unpack .../libk5crypto3_1.12.1+dfsg-19+deb8u2_amd64.deb ...
Unpacking libk5crypto3:amd64 (1.12.1+dfsg-19+deb8u2) ...
Selecting previously unselected package libkrb5-3:amd64.
Preparing to unpack .../libkrb5-3_1.12.1+dfsg-19+deb8u2_amd64.deb ...
Unpacking libkrb5-3:amd64 (1.12.1+dfsg-19+deb8u2) ...
Selecting previously unselected package libgssapi-krb5-2:amd64.
Preparing to unpack .../libgssapi-krb5-2_1.12.1+dfsg-19+deb8u2_amd64.deb ...
Unpacking libgssapi-krb5-2:amd64 (1.12.1+dfsg-19+deb8u2) ...
Selecting previously unselected package libidn11:amd64.
Preparing to unpack .../libidn11_1.29-1+deb8u2_amd64.deb ...
Unpacking libidn11:amd64 (1.29-1+deb8u2) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../libsasl2-modules-db_2.1.26.dfsg1-13+deb8u1_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.26.dfsg1-13+deb8u1) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../libsasl2-2_2.1.26.dfsg1-13+deb8u1_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.26.dfsg1-13+deb8u1) ...
Selecting previously unselected package libldap-2.4-2:amd64.
Preparing to unpack .../libldap-2.4-2_2.4.40+dfsg-1+deb8u2_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.40+dfsg-1+deb8u2) ...
Selecting previously unselected package libsqlite3-0:amd64.
Preparing to unpack .../libsqlite3-0_3.8.7.1-1+deb8u2_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.8.7.1-1+deb8u2) ...
Selecting previously unselected package libxml2:amd64.
Preparing to unpack .../libxml2_2.9.1+dfsg1-5+deb8u4_amd64.deb ...
Unpacking libxml2:amd64 (2.9.1+dfsg1-5+deb8u4) ...
Selecting previously unselected package perl-modules.
Preparing to unpack .../perl-modules_5.20.2-3+deb8u6_all.deb ...
Unpacking perl-modules (5.20.2-3+deb8u6) ...
Selecting previously unselected package perl.
Preparing to unpack .../perl_5.20.2-3+deb8u6_amd64.deb ...
Unpacking perl (5.20.2-3+deb8u6) ...
Selecting previously unselected package libpython2.7-minimal:amd64.
Preparing to unpack .../libpython2.7-minimal_2.7.9-2+deb8u1_amd64.deb ...
Unpacking libpython2.7-minimal:amd64 (2.7.9-2+deb8u1) ...
Selecting previously unselected package python2.7-minimal.
Preparing to unpack .../python2.7-minimal_2.7.9-2+deb8u1_amd64.deb ...
Unpacking python2.7-minimal (2.7.9-2+deb8u1) ...
Selecting previously unselected package python-minimal.
Preparing to unpack .../python-minimal_2.7.9-1_amd64.deb ...
Unpacking python-minimal (2.7.9-1) ...
Selecting previously unselected package mime-support.
Preparing to unpack .../mime-support_3.58_all.deb ...
Unpacking mime-support (3.58) ...
Selecting previously unselected package libexpat1:amd64.
Preparing to unpack .../libexpat1_2.1.0-6+deb8u3_amd64.deb ...
Unpacking libexpat1:amd64 (2.1.0-6+deb8u3) ...
Selecting previously unselected package libpython2.7-stdlib:amd64.
Preparing to unpack .../libpython2.7-stdlib_2.7.9-2+deb8u1_amd64.deb ...
Unpacking libpython2.7-stdlib:amd64 (2.7.9-2+deb8u1) ...
Selecting previously unselected package python2.7.
Preparing to unpack .../python2.7_2.7.9-2+deb8u1_amd64.deb ...
Unpacking python2.7 (2.7.9-2+deb8u1) ...
Selecting previously unselected package libpython-stdlib:amd64.
Preparing to unpack .../libpython-stdlib_2.7.9-1_amd64.deb ...
Unpacking libpython-stdlib:amd64 (2.7.9-1) ...
Processing triggers for systemd (215-17+deb8u5) ...
Setting up libpython2.7-minimal:amd64 (2.7.9-2+deb8u1) ...
Setting up python2.7-minimal (2.7.9-2+deb8u1) ...
Setting up python-minimal (2.7.9-1) ...
Selecting previously unselected package python.
(Reading database ... 10026 files and directories currently installed.)
Preparing to unpack .../python_2.7.9-1_amd64.deb ...
Unpacking python (2.7.9-1) ...
Selecting previously unselected package libapr1:amd64.
Preparing to unpack .../libapr1_1.5.1-3_amd64.deb ...
Unpacking libapr1:amd64 (1.5.1-3) ...
Selecting previously unselected package libaprutil1:amd64.
Preparing to unpack .../libaprutil1_1.5.4-1_amd64.deb ...
Unpacking libaprutil1:amd64 (1.5.4-1) ...
Selecting previously unselected package libglib2.0-0:amd64.
Preparing to unpack .../libglib2.0-0_2.42.1-1+b1_amd64.deb ...
Unpacking libglib2.0-0:amd64 (2.42.1-1+b1) ...
Selecting previously unselected package libcroco3:amd64.
Preparing to unpack .../libcroco3_0.6.8-3+b1_amd64.deb ...
Unpacking libcroco3:amd64 (0.6.8-3+b1) ...
Selecting previously unselected package librtmp1:amd64.
Preparing to unpack .../librtmp1_2.4+20150115.gita107cef-1_amd64.deb ...
Unpacking librtmp1:amd64 (2.4+20150115.gita107cef-1) ...
Selecting previously unselected package libssh2-1:amd64.
Preparing to unpack .../libssh2-1_1.4.3-4.1+deb8u1_amd64.deb ...
Unpacking libssh2-1:amd64 (1.4.3-4.1+deb8u1) ...
Selecting previously unselected package libcurl3:amd64.
Preparing to unpack .../libcurl3_7.38.0-4+deb8u5_amd64.deb ...
Unpacking libcurl3:amd64 (7.38.0-4+deb8u5) ...
Selecting previously unselected package libcurl3-gnutls:amd64.
Preparing to unpack .../libcurl3-gnutls_7.38.0-4+deb8u5_amd64.deb ...
Unpacking libcurl3-gnutls:amd64 (7.38.0-4+deb8u5) ...
Selecting previously unselected package libgomp1:amd64.
Preparing to unpack .../libgomp1_4.9.2-10_amd64.deb ...
Unpacking libgomp1:amd64 (4.9.2-10) ...
Selecting previously unselected package libicu52:amd64.
Preparing to unpack .../libicu52_52.1-8+deb8u4_amd64.deb ...
Unpacking libicu52:amd64 (52.1-8+deb8u4) ...
Selecting previously unselected package libmemcached11:amd64.
Preparing to unpack .../libmemcached11_1.0.18-4_amd64.deb ...
Unpacking libmemcached11:amd64 (1.0.18-4) ...
Selecting previously unselected package libmemcachedutil2:amd64.
Preparing to unpack .../libmemcachedutil2_1.0.18-4_amd64.deb ...
Unpacking libmemcachedutil2:amd64 (1.0.18-4) ...
Selecting previously unselected package libpng12-0:amd64.
Preparing to unpack .../libpng12-0_1.2.50-2+deb8u2_amd64.deb ...
Unpacking libpng12-0:amd64 (1.2.50-2+deb8u2) ...
Selecting previously unselected package libpq5:amd64.
Preparing to unpack .../libpq5_9.4.9-0+deb8u1_amd64.deb ...
Unpacking libpq5:amd64 (9.4.9-0+deb8u1) ...
Selecting previously unselected package librecode0:amd64.
Preparing to unpack .../librecode0_3.6-21_amd64.deb ...
Unpacking librecode0:amd64 (3.6-21) ...
Selecting previously unselected package libserf-1-1:amd64.
Preparing to unpack .../libserf-1-1_1.3.8-1_amd64.deb ...
Unpacking libserf-1-1:amd64 (1.3.8-1) ...
Selecting previously unselected package libsvn1:amd64.
Preparing to unpack .../libsvn1_1.8.10-6+deb8u4_amd64.deb ...
Unpacking libsvn1:amd64 (1.8.10-6+deb8u4) ...
Selecting previously unselected package libunistring0:amd64.
Preparing to unpack .../libunistring0_0.9.3-5.2+b1_amd64.deb ...
Unpacking libunistring0:amd64 (0.9.3-5.2+b1) ...
Selecting previously unselected package libxslt1.1:amd64.
Preparing to unpack .../libxslt1.1_1.1.28-2+deb8u2_amd64.deb ...
Unpacking libxslt1.1:amd64 (1.1.28-2+deb8u2) ...
Selecting previously unselected package logrotate.
Preparing to unpack .../logrotate_3.8.7-1+b1_amd64.deb ...
Unpacking logrotate (3.8.7-1+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../gettext-base_0.19.3-2_amd64.deb ...
Unpacking gettext-base (0.19.3-2) ...
Selecting previously unselected package ucf.
Preparing to unpack .../archives/ucf_3.0030_all.deb ...
Moving old data out of the way
Unpacking ucf (3.0030) ...
Selecting previously unselected package curl.
Preparing to unpack .../curl_7.38.0-4+deb8u5_amd64.deb ...
Unpacking curl (7.38.0-4+deb8u5) ...
Selecting previously unselected package gettext.
Preparing to unpack .../gettext_0.19.3-2_amd64.deb ...
Unpacking gettext (0.19.3-2) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../liberror-perl_0.17-1.1_all.deb ...
Unpacking liberror-perl (0.17-1.1) ...
Selecting previously unselected package git-man.
Preparing to unpack .../git-man_1%3a2.1.4-2.1+deb8u2_all.deb ...
Unpacking git-man (1:2.1.4-2.1+deb8u2) ...
Selecting previously unselected package git.
Preparing to unpack .../git_1%3a2.1.4-2.1+deb8u2_amd64.deb ...
Unpacking git (1:2.1.4-2.1+deb8u2) ...
Selecting previously unselected package libjs-excanvas.
Preparing to unpack .../libjs-excanvas_0.r3-3_all.deb ...
Unpacking libjs-excanvas (0.r3-3) ...
Selecting previously unselected package libmcrypt4.
Preparing to unpack .../libmcrypt4_2.5.8-3.3_amd64.deb ...
Unpacking libmcrypt4 (2.5.8-3.3) ...
Selecting previously unselected package mercurial-common.
Preparing to unpack .../mercurial-common_3.1.2-2+deb8u3_all.deb ...
Unpacking mercurial-common (3.1.2-2+deb8u3) ...
Selecting previously unselected package mercurial.
Preparing to unpack .../mercurial_3.1.2-2+deb8u3_amd64.deb ...
Unpacking mercurial (3.1.2-2+deb8u3) ...
Selecting previously unselected package python-pkg-resources.
Preparing to unpack .../python-pkg-resources_5.5.1-1_all.deb ...
Unpacking python-pkg-resources (5.5.1-1) ...
Selecting previously unselected package subversion.
Preparing to unpack .../subversion_1.8.10-6+deb8u4_amd64.deb ...
Unpacking subversion (1.8.10-6+deb8u4) ...
Selecting previously unselected package python-meld3.
Preparing to unpack .../python-meld3_1.0.0-1_amd64.deb ...
Unpacking python-meld3 (1.0.0-1) ...
Selecting previously unselected package supervisor.
Preparing to unpack .../supervisor_3.0r1-1_all.deb ...
Unpacking supervisor (3.0r1-1) ...
Processing triggers for systemd (215-17+deb8u5) ...
Setting up init-system-helpers (1.22) ...
Setting up cron (3.0pl1-127+deb8u1) ...
Adding group `crontab' (GID 107) ...
Done.
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
invoke-rc.d: policy-rc.d denied execution of start.
Setting up libgdbm3:amd64 (1.8.3-13.1) ...
Setting up libpopt0:amd64 (1.16-10) ...
Setting up libasprintf0c2:amd64 (0.19.3-2) ...
Setting up libgmp10:amd64 (2:6.0.0+dfsg-6) ...
Setting up libnettle4:amd64 (2.7.1-5+deb8u1) ...
Setting up libhogweed2:amd64 (2.7.1-5+deb8u1) ...
Setting up libffi6:amd64 (3.1-2+b2) ...
Setting up libp11-kit0:amd64 (0.20.7-1) ...
Setting up libtasn1-6:amd64 (4.2-3+deb8u2) ...
Setting up libgnutls-deb0-28:amd64 (3.3.8-6+deb8u3) ...
Setting up libkeyutils1:amd64 (1.5.9-5+b1) ...
Setting up libkrb5support0:amd64 (1.12.1+dfsg-19+deb8u2) ...
Setting up libk5crypto3:amd64 (1.12.1+dfsg-19+deb8u2) ...
Setting up libkrb5-3:amd64 (1.12.1+dfsg-19+deb8u2) ...
Setting up libgssapi-krb5-2:amd64 (1.12.1+dfsg-19+deb8u2) ...
Setting up libidn11:amd64 (1.29-1+deb8u2) ...
Setting up libsasl2-modules-db:amd64 (2.1.26.dfsg1-13+deb8u1) ...
Setting up libsasl2-2:amd64 (2.1.26.dfsg1-13+deb8u1) ...
Setting up libldap-2.4-2:amd64 (2.4.40+dfsg-1+deb8u2) ...
Setting up libsqlite3-0:amd64 (3.8.7.1-1+deb8u2) ...
Setting up libxml2:amd64 (2.9.1+dfsg1-5+deb8u4) ...
Setting up perl-modules (5.20.2-3+deb8u6) ...
Setting up perl (5.20.2-3+deb8u6) ...
update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode
Setting up mime-support (3.58) ...
Setting up libexpat1:amd64 (2.1.0-6+deb8u3) ...
Setting up libpython2.7-stdlib:amd64 (2.7.9-2+deb8u1) ...
Setting up python2.7 (2.7.9-2+deb8u1) ...
Setting up libpython-stdlib:amd64 (2.7.9-1) ...
Setting up python (2.7.9-1) ...
Setting up libapr1:amd64 (1.5.1-3) ...
Setting up libaprutil1:amd64 (1.5.4-1) ...
Setting up libglib2.0-0:amd64 (2.42.1-1+b1) ...
No schema files found: doing nothing.
Setting up libcroco3:amd64 (0.6.8-3+b1) ...
Setting up librtmp1:amd64 (2.4+20150115.gita107cef-1) ...
Setting up libssh2-1:amd64 (1.4.3-4.1+deb8u1) ...
Setting up libcurl3:amd64 (7.38.0-4+deb8u5) ...
Setting up libcurl3-gnutls:amd64 (7.38.0-4+deb8u5) ...
Setting up libgomp1:amd64 (4.9.2-10) ...
Setting up libicu52:amd64 (52.1-8+deb8u4) ...
Setting up libmemcached11:amd64 (1.0.18-4) ...
Setting up libmemcachedutil2:amd64 (1.0.18-4) ...
Setting up libpng12-0:amd64 (1.2.50-2+deb8u2) ...
Setting up libpq5:amd64 (9.4.9-0+deb8u1) ...
Setting up librecode0:amd64 (3.6-21) ...
Setting up libserf-1-1:amd64 (1.3.8-1) ...
Setting up libsvn1:amd64 (1.8.10-6+deb8u4) ...
Setting up libunistring0:amd64 (0.9.3-5.2+b1) ...
Setting up libxslt1.1:amd64 (1.1.28-2+deb8u2) ...
Setting up logrotate (3.8.7-1+b1) ...
Setting up gettext-base (0.19.3-2) ...
Setting up ucf (3.0030) ...
Setting up curl (7.38.0-4+deb8u5) ...
Setting up gettext (0.19.3-2) ...
Setting up liberror-perl (0.17-1.1) ...
Setting up git-man (1:2.1.4-2.1+deb8u2) ...
Setting up git (1:2.1.4-2.1+deb8u2) ...
Setting up libjs-excanvas (0.r3-3) ...
Setting up libmcrypt4 (2.5.8-3.3) ...Setting up git (1:2.1.4-2.1+deb8u2) ...Setting up mercurial-common (3.1.2-2+deb8u3) ...Setting up mercurial (3.1.2-2+deb8u3) ...Creating config file /etc/mercurial/hgrc.d/hgext.rc with new versionSetting up python-pkg-resources (5.5.1-1) ...Setting up subversion (1.8.10-6+deb8u4) ...Setting up python-meld3 (1.0.0-1) ...Setting up supervisor (3.0r1-1) ...invoke-rc.d: policy-rc.d denied execution of start.Processing triggers for systemd (215-17+deb8u5) ...Processing triggers for libc-bin (2.19-18+deb8u6) ... ---> 65d1482ecd10
ERROR: (gcloud.app.deploy) Error Response: [2] Build failed;
I got this error ERROR: (gcloud.app.deploy) Error Response: [2] Build failed.
I tried to deploy from my local system and cloud shell also. But I got Build failed.
Plz help me to solve this. Where I did wrong?
Thanks,
Dear Nick,
Thanks for your reply.
I want to use PHP 7 In App Engine Flex Custom Runtime Only.I know the fact very well App Engine standard environment doesn’t support version higher than PHP 5.6.
So that only, we tried using a Dockerfile and a custom image to run PHP 7.
But I got issue ERROR: (gcloud.app.deploy) Error Response: [2] Build failed;
My question is, how to install PHP 7 in Flexible environment using a Dockerfile. I don't need any frameworks pre-installed with the Docker image. All I need is to install PHP 7 in Custom runtime and start developing my apps on top of PHP 7. All of your examples on how to install PHP 7 in custom runtime in G Documentation is not helping us. We tried all samples from GitHub, your site documentations, but of no use. Please at least help us to provide with the exact Dockerfile to install PHP 7, we are breaking our heads and really stuck for the past 2 months.
If there is no support, how we can make things to go forward and recommend your Google products to our customers? In this regard, we strongly seek your support many times, but never once we got reply from your side. I hope you will help this time at least for us, so we can start deploying lot of apps in GAE Custom runtime.
Plz Dear Nick, plz help us. and thanks in advance.
Cheers,
SN
...
Dear Nick,
Thanks for your help. Appreciate it. I hope I am too close to install the PHP7 in Flex env.
I tried using these [1], [2] url references given by you.
Method 1, Method 2 & Method 3 - The config files content and Gcloud Shell commands & output are updated in this spreadsheet for your reference, so you understand well what are the steps we performed.
Is there any file or need to change in this sample?
I checked the log, but I can’t find what is wrong/error there?
Please help me to fix this. Should there be any port issue, GAE user issue, or my GAE environment issue or configuration issue? I just can’t understand and going crazy. Worst case we can give access for you to take a look or to check or to run the Docker in our GAE?I feel we have a silly issue somewhere else GAE FE environment has an issue of dockerfile?
Plz kindly help.
Cheers,
Dhandapani.
Dear Nick,
Thanks for your real help and supporting us. We really need to get this up and running soon, as we have to show it to our client. Hope we 'll settle this sooner. Really losing patience.
Method 2:
I checked all logs I could not find any clues.
I saw the below message in my Container registry.huh
Registry location: us.gcr.io
On 2/15/17, Container Registry will deprecate Docker Registry v1 API, client versions 1.8 and lower, and non-standard GCR buckets.
I checked my Docker ver is Docker version 1.11.2, build b9f10c9.
Also, I checked my API manager, there Docker v1 API only available.
Is this blocking GAE FE PHP 7?
Method 3:
I checked all logs. I'm using Debian 8, But Dockerfile [2] is Installing CentOS.
Why should I install CentOS, Remy….? Is that necessary, coz I am running Debian OS. Am I running the correct Dockerfile for Debian?
Also I saw the logger. There I got this issue
[error] 32#32: *1765 connect() failed (111: Connection refused) while connecting to upstream, client: 130.211.1.216, server: , request: "GET /_ah/health HTTP/1.1", upstream: "http://172.18.0.2:8080/_ah/health", host: "10.128.0.2"
Don’t know why connect() failed.
Both Logger details I updated in Log[2], Log[3].
...
Hey Nick,
Thanks for your great support.
Here is my local copy [4] using dockerfile, it’s working fine in local.
I updated all files which i used to deploy in my local environment and its output. Also, gave the GAE deployment success build output . But still it throws the same error, as you can see in the Sheet under GAE FE.
Plz refer this [4]. We still are insisted to use Flexible env with PHP 7. I tried many methods. But breaking heads to make it work in GAE, although its working fine in our local. We need the AUTO SCALABILITY feature of GAE, so we don't wish to use GCE, as we already use GCE for other purposes. Our goal is to use GAE Flex Env only for now.
I think we strongly suspect, there is an issue in our Flex environment , can you have a look in our Project, so we can share our project ID to you. I think it ll take you just few mins to check our environment. It is becoming beyond tedious to break our heads to settle this issue, where adequate documentation is also missing for us to be guided.
Please if you can help us, we can quickly focus on creating and deploying as many PHP 7 Apps. Our goal here is to make use of the Flex env capabilities and not get stuck like this even before we start with.
Kindly plz help us Nick.. Thanks for your support again.
Cheers,
Dhandapani
...
sudo docker exec -it gaeapp /bin/bash
sudo docker built -t myapp .
sudo docker run -p 127.0.0.1:8080:8080 --name myapp -t myapp
sudo docker exec -it myapp /bin/bash
...
Hey Dhandapani,
It appears that there have been some lost messages in the progress of this thread that I'd like to bring back to the foreground:
1. If you deploy the application successfully, and you have instances corresponding to them visible in the Console, then you can rest assured that the problem is not in deployment but in serving.
You'll need to debug the problem on the instance using a combination of various possible kinds of investigation:
* Checking the logs in the Cloud Console (be sure to check all log types, not just stdout, stderr, syslog, but also request_log -- all log types should be checked)
* Checking the instance's serial console output for possible errors (in the Console, click on the VM instance to view its details, then ctrl+f "serial" and you'll see a link to the serial console output)* SSH into the instance and then user docker to get inside the app container:sudo docker exec -it gaeapp /bin/bash
* Once you're inside the app container, you can check /var/log for any logs that might not report to the Console (this shouldn't generally happen), you can check which ports are open, whether the language runtime process is running properly, etc.
2. If the application fails to deploy, you should test whether you can build and run the docker container on your own machine (not using gcloud, but purely using docker)
* From the application directory where Dockerfile is, build the Dockerfile into an image:sudo docker built -t myapp .
* Then run the image you built ("myapp") and link its port 8080 to 8080 on your machine:sudo docker run -p 127.0.0.1:8080:8080 --name myapp -t myapp
Then you can direct requests to the app by running a simple request to 127.0.0.1:8080. Be sure to run docker stop on the container when you're done testing.
You can look in the container itself while it's running using the same syntax you used in production:
sudo docker exec -it gaeapp /bin/bash
Dear Nick, Takashi
Thanks Nick for your support so long.
A great thanks to Takashi for his post, while we were suffering to install PHP V7 in FE for the past 2 months.
We finally deployed the PHP 7 FE successfully, at last only after the reply of Takashi on latest documentation launch for PHP 7 FE runtime support and the Base image(PHP 7) Dockerfile provided by Google in GitHub link.
It would all have been very easy for us not to waste 2 months time, had Google released this official PHP 7 runtime support in the Flexible environment. Lack of all this earlier lead to us for this delay. Of course, we understand on the term ‘ALPHA’ launch of the FE.