Yes, I'm interested in the alpha version and new log service.

I tried Redis Lab Memcache, it doesn't support memcache, only memcached?

On Monday, April 24, 2017 at 8:45:36 PM UTC-7, Takashi Matsuo (Google) 
wrote:
>
> Adding our PM
>
> On Mon, Apr 24, 2017 at 8:29 PM Yao Li <[email protected] <javascript:>> 
> wrote:
>
>> I'm interested in App Engine Flex PHP alpha version and did fill the 
>> register form but have not received any response.
>>
>
> I think you are referring to the alpha program of the memcache service. If 
> that's the case, Justin knows more about the program.
>
> What I was saying is for our new logging library :)
>
> The new logging library will provide 1) PSR3 interface, 2) automatic 
> capturing Fatal errors and unhanded Exceptions to Stackdriver Error 
> Rerporting, 3) high throughput and low latency.
>
> Let me know if you're interested in.
>
> -- Takashi
>  
>
>>
>>
>> On Monday, April 24, 2017 at 6:32:12 PM UTC-7, Takashi Matsuo (Google) 
>> wrote:
>>
>>>
>>> Hi Yao,
>>>
>>> > I copied data from a 1st generation cloud sql instance to a 2nd one, 
>>> data is exactly same but the size is doubled, is it because of the 2nd 
>>> generation one specific attribute?
>>>
>>> Sorry I'm not an expert on that topic. Maybe you can try 
>>> google-cloud-sql-discuss 
>>> <https://groups.google.com/forum/#!forum/google-cloud-sql-discuss> list?
>>>
>>> Glad to hear you could connect to Cloud SQL and see the logs!
>>>
>>> BTW, we're going to start alpha tester program for the new logging 
>>> library on App Engine Flex PHP.
>>> Are you interested in testing it out?
>>>
>>> Thanks,
>>>
>>>
>>>
>>> On Mon, Apr 24, 2017 at 3:28 PM Yao Li <[email protected]> wrote:
>>>
>>>> 1. *CloudSQL*
>>>>
>>>> I did connect successfully by setting default socket in php.ini. Thanks.
>>>>
>>>> I copied data from a 1st generation cloud sql instance to a 2nd one, 
>>>> data is exactly same but the size is doubled, is it because of the 2nd 
>>>> generation one specific attribute?
>>>>
>>>> 2. *Log*
>>>> I did choose the logname 'stderr' in the logging console and it only 
>>>> prints out the content inside fwrite(), like 'Log to stderr' in your 
>>>> example. Anyway, it can log now.
>>>>
>>>>
>>>> On Monday, April 24, 2017 at 10:54:47 AM UTC-7, Takashi Matsuo (Google) 
>>>> wrote:
>>>>
>>>>>
>>>>> Hi Yao,
>>>>>
>>>>> *1. CloudSQL*
>>>>>
>>>>> Yes, we recommend that you use the unix socket.
>>>>>
>>>>> If you're using mysql_connect, you may be able to 
>>>>> use 'localhost:/cloudsql/CONNECTION_NAME' as the host name.
>>>>>
>>>>> ```php.ini
>>>>> extension=mysql.so
>>>>> sql.safe_mode=false
>>>>> ```
>>>>> Then:
>>>>> $db = mysql_connect('localhost:/cloudsql/CONNECTION_NAME', 'USER', 
>>>>> 'PASSWORD');
>>>>>
>>>>>
>>>>> If you're using mysqli_connect, you can specify the default socket in 
>>>>> php.ini.
>>>>>
>>>>> ```php.ini
>>>>> mysqli.default_socket= '/cloudsql/CONNECTION_NAME' 
>>>>> ```
>>>>>
>>>>> $db = mysqli_connect('localhost', 'USER', 'PASSWORD', 'DB');
>>>>>
>>>>> *2. Log*
>>>>>
>>>>> I can not reproduce your issue. Here is a simple app trying to repro, 
>>>>> but I see the logs in the logs viewer.
>>>>>
>>>>> ```app.yaml
>>>>> runtime: php
>>>>> env: flex
>>>>> ```
>>>>>
>>>>> ```php-fpm.conf
>>>>> [global]
>>>>> error_log = /dev/stderr
>>>>> ```
>>>>>
>>>>> ```index.php
>>>>> <?php
>>>>>
>>>>> $fp = fopen('php://stderr', 'w');
>>>>>
>>>>> fwrite($fp, 'Log to stderr' . PHP_EOL);
>>>>> fclose($fp);
>>>>>
>>>>> error_log('Log with error_log()');
>>>>>
>>>>> echo 'Sent a log to stderr, and error_log';
>>>>> ```
>>>>>
>>>>> You may have to choose the logname 'stderr' in the logging console to 
>>>>> see those logs.
>>>>>
>>>>> *3. Extension*
>>>>>
>>>>> Currently you have to use the custom runtime, and yeah the Dockerfile 
>>>>> for deb-package-builder will guide you which apt packages are need for 
>>>>> compiling extensions.
>>>>>
>>>>> Thanks!
>>>>>
>>>>> -- Takashi
>>>>>
>>>>> On Mon, Apr 24, 2017 at 9:39 AM Yao Li <[email protected]> wrote:
>>>>>
>>>> I want to install New Relic agent in the custom image (php-nginx) to 
>>>>>> monitor app level performance, as the code in php-docker 
>>>>>> (deb-package-builder) repo, GAE flex env is based on Debian, is there 
>>>>>> any 
>>>>>> libs or scripts to install software (new relic) in this environment? 
>>>>>>
>>>>>> https://github.com/GoogleCloudPlatform/php-docker
>>>>>>
>>>>>> https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php
>>>>>>
>>>>>>
>>>>>> On Monday, April 24, 2017 at 8:31:40 AM UTC-7, Yao Li wrote:
>>>>>>>
>>>>>>> 1. Cloud SQL
>>>>>>> It doesn't expose mysql unix_socket in the company framework but 
>>>>>>> host, I did try to config host as the cloud sql instance ip or 
>>>>>>> 'localhost' 
>>>>>>> for host parameter, but nether of them work. Can I use host (cloud sql 
>>>>>>> instance ip) for mysql configuration in this case or only unix_socket 
>>>>>>> works?
>>>>>>>
>>>>>>> 2. Logging
>>>>>>> It doesn't print anything in Logs View even after add [global] in 
>>>>>>> php-fpm.conf
>>>>>>>
>>>>>>> On Saturday, April 22, 2017 at 7:40:02 AM UTC-7, Takashi Matsuo 
>>>>>>> (Google) wrote:
>>>>>>>>
>>>>>>>> Hi Yao,
>>>>>>>>
>>>>>>>> On Fri, Apr 21, 2017 at 11:29 PM Yao Li <[email protected]> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> 1. I use Second Generation Instance for Cloud SQL in flex 
>>>>>>>>> environment, did enable 'sqladmin' on my project.
>>>>>>>>>
>>>>>>>>> The cloud sql instance log shows:
>>>>>>>>> 10:12:52.4252017-04-21T17:12:52.425362Z 7115 [Note] Aborted 
>>>>>>>>> connection 7115 to db: 'f_s' user: 'f-s' host: '66.*.*.210' (Got 
>>>>>>>>> timeout reading communication packets)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> Looks like you're using the IP address? On App Engine Flex, you can 
>>>>>>>> use the local socket.
>>>>>>>>
>>>>>>>> ```app.yaml
>>>>>>>> env: flex
>>>>>>>> runtime: php
>>>>>>>>
>>>>>>>> beta_settings:
>>>>>>>>   cloud_sql_instances: "CONNECTION_NAME"
>>>>>>>> ```
>>>>>>>> Replace the CONNECTION_NAME with your Cloud SQL connection name. 
>>>>>>>> This beta_settings will create a local socket for you on the VM.
>>>>>>>>
>>>>>>>> Then in your code, you use the connection name again:
>>>>>>>>
>>>>>>>> ```
>>>>>>>> $pdo = new PDO(
>>>>>>>>     'mysql:dbname=DB_NAME;unix_socket=/cloudsql/CONNECTION_NAME',
>>>>>>>>     'DB_USERNAME',
>>>>>>>>     'DB_PASSWORD'
>>>>>>>> );
>>>>>>>> ```
>>>>>>>> Replace the DB_NAME, CONNECTION_NAME, DB_USERNAME, and DB_PASSWORD 
>>>>>>>> respectively, then you should be good to go.
>>>>>>>>  
>>>>>>>>
>>>>>>>>> 2. Logging
>>>>>>>>>
>>>>>>>>> It complains error after put a file named php-fpm.conf in the project 
>>>>>>>>> root.
>>>>>>>>>
>>>>>>>>> [22-Apr-2017 06:07:42] ERROR: [/opt/php/etc/php-fpm-user.conf:1] 
>>>>>>>>> unknown entry 'error_log'
>>>>>>>>> [22-Apr-2017 06:07:42] ERROR: Unable to include 
>>>>>>>>> /opt/php/etc/php-fpm-user.conf from /opt/php/etc/php-fpm.conf at line 
>>>>>>>>> 1
>>>>>>>>> [22-Apr-2017 06:07:42] ERROR: failed to load configuration file 
>>>>>>>>> '/opt/php/etc/php-fpm.conf'
>>>>>>>>> [22-Apr-2017 06:07:42] ERROR: FPM initialization failed
>>>>>>>>> 2017-04-22 06:07:42,142 INFO spawned: 'php-fpm' with pid 41
>>>>>>>>> 2017-04-22 06:07:42,170 INFO exited: php-fpm (exit status 78; not 
>>>>>>>>> expected)
>>>>>>>>> 2017-04-22 06:07:43,171 INFO gave up: php-fpm entered FATAL state, 
>>>>>>>>> too many start retries too quickly
>>>>>>>>>
>>>>>>>>>
>>>>>>>> Oops! My bad. You need the `global` section too.
>>>>>>>> ```
>>>>>>>> [global]
>>>>>>>> error_log = /dev/stderr
>>>>>>>> ```
>>>>>>>>  
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>>>  
>>>>>>>>> On Friday, April 21, 2017 at 8:00:38 PM UTC-7, Takashi Matsuo 
>>>>>>>>> (Google) wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hi Yao,
>>>>>>>>>>
>>>>>>>>>> Sorry! I was wrong.  The constants STDERR is only available for 
>>>>>>>>>> CLI SAPI.
>>>>>>>>>> Also, the current php-fpm.conf just throws the logs on STDERR 
>>>>>>>>>> away (my fault).
>>>>>>>>>>
>>>>>>>>>> We will fix this early next week, but for a time being, you can 
>>>>>>>>>> put a file named php-fpm.conf in the project root with the following:
>>>>>>>>>> ```
>>>>>>>>>> error_log = /dev/stderr
>>>>>>>>>> ```
>>>>>>>>>>
>>>>>>>>>> Then the following code will work:
>>>>>>>>>> ```
>>>>>>>>>> $stderr = fopen('php://stderr', 'w');
>>>>>>>>>> fwrite($stderr, 'Log to stderr' . PHP_EOL);
>>>>>>>>>> ```
>>>>>>>>>>
>>>>>>>>>> Also `error_log()` works too.
>>>>>>>>>>
>>>>>>>>>> Sorry, and thanks!
>>>>>>>>>>
>>>>>>>>>> On Fri, Apr 21, 2017 at 11:10 AM Takashi Matsuo <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>> Hi Yao,
>>>>>>>>>>>
>>>>>>>>>>> > 1 Cloud SQL Connection. I set cloud_sql_instances connection 
>>>>>>>>>>> name but it doesn't work. I tried use its actual IP or 'localhost' 
>>>>>>>>>>> as host 
>>>>>>>>>>> name, neither of them work.
>>>>>>>>>>>
>>>>>>>>>>> Do you use Cloud SQL first generation? If so, unfortunately it's 
>>>>>>>>>>> not supported on App Engine Flex.
>>>>>>>>>>>
>>>>>>>>>>> Here is the document for how to connect to Cloud SQL second 
>>>>>>>>>>> generation from App Engine Flex:
>>>>>>>>>>>
>>>>>>>>>>> https://cloud.google.com/appengine/docs/flexible/php/using-cloud-sql
>>>>>>>>>>>
>>>>>>>>>>> Note that you need to enable `sqladmin` API on your project. You 
>>>>>>>>>>> can use this link to enable it:
>>>>>>>>>>> https://console.cloud.google.com/flows/enableapi?apiid=sqladmin
>>>>>>>>>>>
>>>>>>>>>>> Also you have to explicitly use a user and the password, whereas 
>>>>>>>>>>> App Engine Standard will automatically use root and the password is 
>>>>>>>>>>> bypassed.
>>>>>>>>>>>
>>>>>>>>>>> Re: /dev/stderr
>>>>>>>>>>>
>>>>>>>>>>> I think you can use the constant STDERR like:
>>>>>>>>>>> ```
>>>>>>>>>>> fwrite(STDERR, "message" . PHP_EOL);
>>>>>>>>>>> ```
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Apr 21, 2017 at 9:52 AM Yao Li <[email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>> 1 Cloud SQL Connection. I set cloud_sql_instances connection name 
>>>>>>>>>>>> but it doesn't work. I tried use its actual IP or 'localhost' as 
>>>>>>>>>>>> host name, 
>>>>>>>>>>>> neither of them work.
>>>>>>>>>>>>
>>>>>>>>>>>> 2. Logging. It has some issue to open logfile:/dev/stderr as 
>>>>>>>>>>>> the following log file, Aura use several levels, info, warning, 
>>>>>>>>>>>> error.
>>>>>>>>>>>>
>>>>>>>>>>>> 08:45:05.000 2017/04/21 15:45:05 [error] 37#0: *54 FastCGI 
>>>>>>>>>>>> sent in stderr: "PHP message: ALERT-SIMULATION - Unable to open 
>>>>>>>>>>>> logfile: 
>>>>>>>>>>>> /dev/stderr (attacker '', file 
>>>>>>>>>>>> '/app/vendor/my_company/aura/Aura.php', line 
>>>>>>>>>>>> 143)
>>>>>>>>>>>>
>>>>>>>>>>>> 08:45:05.000 PHP message: PHP Warning: SIMULATION - 
>>>>>>>>>>>> php_uname() has been disabled for security reasons in 
>>>>>>>>>>>> /app/vendor/my_company/aura/Aura.php on line 143" while reading 
>>>>>>>>>>>> response 
>>>>>>>>>>>> header from upstream, client: 172.*.*.3, server: , request: "POST 
>>>>>>>>>>>> /Users/loginAction HTTP/1.1", upstream: "fastcgi://
>>>>>>>>>>>> 127.0.0.1:9000", host: "monitor-dot-my-company.appspot.com", 
>>>>>>>>>>>> referrer: "
>>>>>>>>>>>> https://monitor-dot-my-company.appspot.com/Users/signIn";
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thursday, April 20, 2017 at 4:05:05 PM UTC-7, Takashi Matsuo 
>>>>>>>>>>>> (Google) wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Yao,
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Apr 20, 2017 at 2:41 PM Yao Li <[email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> It works like a charm after add memcache extension, thanks!
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Glad to hear!
>>>>>>>>>>>>>  
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In the very beginning, I deployed a default service in 
>>>>>>>>>>>>>> standard environment (my-company.appspot.com) and then a 
>>>>>>>>>>>>>> monitor service in flex environment now (
>>>>>>>>>>>>>> monitor-dot-my-company.appspot.com).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 1. The default service could access Cloud SQL in standard 
>>>>>>>>>>>>>> environment before, but monitor service cannot in flex 
>>>>>>>>>>>>>> environment now.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I did configure to authorize the app in Google Cloud Platform 
>>>>>>>>>>>>>> dashboard, SQL page, Access Control label, does it only work for 
>>>>>>>>>>>>>> standard 
>>>>>>>>>>>>>> environment? (standard and flex in my case have same ip)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On App Engine Flex, you have to add Cloud SQL's connection 
>>>>>>>>>>>>> string in your app.yaml like:
>>>>>>>>>>>>> ```
>>>>>>>>>>>>> beta_settings:
>>>>>>>>>>>>>     cloud_sql_instances: "CONNECTION_NAME"
>>>>>>>>>>>>> ```
>>>>>>>>>>>>> You should be able to get the connection name on the Cloud SQL 
>>>>>>>>>>>>> section of the Console.
>>>>>>>>>>>>>  
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2. php echo and Aura::infoLog (Aura is my company PHP 
>>>>>>>>>>>>>> framework) don't print anything out in flex env and they do work 
>>>>>>>>>>>>>> in 
>>>>>>>>>>>>>> standard one, is there specific log or debug tool in flex 
>>>>>>>>>>>>>> environment?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> We're working hard on the Logging and Tracing library, and 
>>>>>>>>>>>>> they're getting really close. I'll keep you updated. Our current 
>>>>>>>>>>>>> plan for 
>>>>>>>>>>>>> Logging is to provide a PSR-3 compatible Logger, with Error 
>>>>>>>>>>>>> Reporting 
>>>>>>>>>>>>> capability. Stay tuned!
>>>>>>>>>>>>>
>>>>>>>>>>>>> Well, so what's the current status?
>>>>>>>>>>>>> On App Engine flex, standard out and standard err are captured 
>>>>>>>>>>>>> and should be available on the Logging console. You may need to 
>>>>>>>>>>>>> select the 
>>>>>>>>>>>>> log name selector to choose stdout and stderr. Unfortunately, 
>>>>>>>>>>>>> syslog() is 
>>>>>>>>>>>>> not supported on App Engine Flex. What low level function does 
>>>>>>>>>>>>> Aura use 
>>>>>>>>>>>>> under the cover?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>  
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thursday, April 20, 2017 at 11:34:02 AM UTC-7, Takashi 
>>>>>>>>>>>>>> Matsuo (Google) wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The `Memcache` class comes with `memcache` extension.
>>>>>>>>>>>>>>> To enable `memcache` extension on App Engine flex, you can 
>>>>>>>>>>>>>>> add a dependency in your `composer.json`.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>> $ composer require 'ext-memcache:*'
>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>> Then our runtime will automatically enable the memcache 
>>>>>>>>>>>>>>> extension for you.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The memcache service for App Engine Flex is currently Alpha.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> https://cloud.google.com/appengine/docs/flexible/php/upgrading#memcache_service
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> You can request access at:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> https://docs.google.com/a/google.com/forms/d/e/1FAIpQLSfGMYNeKC0G5aw6GEiocL1DjT2H5AFUCqsbxoerfuj3Y1rHxw/viewform?c=0&w=1
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Or you can use 3rd party service like redislab:
>>>>>>>>>>>>>>> https://redislabs.com/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> One more note around Memcache.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> There are two extensions for using memcached; `memcache` and 
>>>>>>>>>>>>>>> `memcached` extensions. Yeah it's confusing, but in short, the 
>>>>>>>>>>>>>>> `memcache` 
>>>>>>>>>>>>>>> is an old one, and not actively maintained. On our runtime, we 
>>>>>>>>>>>>>>> only provide 
>>>>>>>>>>>>>>> `memcached` extension for PHP 7.0.x and PHP 7.1.x. So if you 
>>>>>>>>>>>>>>> have a plan to 
>>>>>>>>>>>>>>> migrate to PHP 7, I recommend that you look into `memcached` 
>>>>>>>>>>>>>>> extension, 
>>>>>>>>>>>>>>> instead of `memcache`.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Of course you can do:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>> $ composer require 'ext-memcached:*'
>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>> To enable the extension on our runtime.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thu, Apr 20, 2017 at 11:21 AM Yao Li <[email protected]> 
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As the following doc, Memcache is not available at GAE flex 
>>>>>>>>>>>>>>>> environment.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> https://cloud.google.com/appengine/docs/flexible/php/upgrading
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thursday, April 20, 2017 at 8:56:24 AM UTC-7, Yao Li 
>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I do have the plan to upgrade to 7.0+, but current system 
>>>>>>>>>>>>>>>>> is in 5.6 and I have to figure out it.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Actually it's not XCache issue, it's Memcache issue.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> My company PHP framwork use Memcache for session handler 
>>>>>>>>>>>>>>>>> and it works in standard environment, but failed when I do 
>>>>>>>>>>>>>>>>> new \Memcache().
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I cmd + click to go to the class definition which is in 
>>>>>>>>>>>>>>>>> php.jar/stubs/memcache/memcache.php in IDE, but the program 
>>>>>>>>>>>>>>>>> stopped when 
>>>>>>>>>>>>>>>>> execute new \Memcache() in GAE flex environment (php).
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wednesday, April 19, 2017 at 10:05:15 PM UTC-7, Takashi 
>>>>>>>>>>>>>>>>> Matsuo (Google) wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi Yao,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> So adding to my previous e-mail, the `opcache` zend 
>>>>>>>>>>>>>>>>>> extension is also an extension for opcode caching. XCache  
>>>>>>>>>>>>>>>>>> used to be a 
>>>>>>>>>>>>>>>>>> viable option for opcode caching, but it is not very 
>>>>>>>>>>>>>>>>>> actively maintained.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I recommend that you try using opcache, and see if 
>>>>>>>>>>>>>>>>>> there's enough performance gain.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Speaking of performance, the runtime supports PHP 7.0.x 
>>>>>>>>>>>>>>>>>> and 7.1.x, and they are quite fast. Is migrating to newer 
>>>>>>>>>>>>>>>>>> PHP an option for 
>>>>>>>>>>>>>>>>>> you?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wed, Apr 19, 2017 at 4:06 PM Yao Li <[email protected]> 
>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I used XCache in GAE standard environment (PHP 5.5) and 
>>>>>>>>>>>>>>>>>>> it works, but it doesn't in flex one (PHP 5.6).
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Wednesday, April 19, 2017 at 2:11:54 PM UTC-7, 
>>>>>>>>>>>>>>>>>>> Takashi Matsuo (Google) wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hi Yao,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks for the report. My understanding is XCache is 
>>>>>>>>>>>>>>>>>>>> for opcode caching, and the last release is 20140918.
>>>>>>>>>>>>>>>>>>>> We're using the standard `opcache` zend extension, and 
>>>>>>>>>>>>>>>>>>>> it has been working pretty well for us.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> The runtime already has the extension, so only you need 
>>>>>>>>>>>>>>>>>>>> is to put php.ini with the following content.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> ```php.ini
>>>>>>>>>>>>>>>>>>>> zend_extension=opcache.so
>>>>>>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Please try it out and let us know how it works for you!
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Wed, Apr 19, 2017 at 1:40 PM Yao Li <[email protected]> 
>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> BTW, XCache is used in my company PHP framework and it 
>>>>>>>>>>>>>>>>>>>>> caused failure without any error message when access the 
>>>>>>>>>>>>>>>>>>>>> home page (root 
>>>>>>>>>>>>>>>>>>>>> /), it works after comment out the code with XCache.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Wednesday, April 19, 2017 at 12:17:46 PM UTC-7, 
>>>>>>>>>>>>>>>>>>>>> Takashi Matsuo (Google) wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks! That makes sense. I will make the change soon 
>>>>>>>>>>>>>>>>>>>>>> and let you know when it's done!
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Wed, Apr 19, 2017 at 10:10 AM Yao Li <
>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I add flag -m to preserve environment variable 
>>>>>>>>>>>>>>>>>>>>>>> (composer_auth which has gitlab token to composer 
>>>>>>>>>>>>>>>>>>>>>>> install private repos) in 
>>>>>>>>>>>>>>>>>>>>>>> composer.sh line 81:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> https://github.com/GoogleCloudPlatform/php-docker/blob/master/php-nginx/composer.sh
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Wednesday, April 19, 2017 at 9:57:03 AM UTC-7, 
>>>>>>>>>>>>>>>>>>>>>>> Takashi Matsuo (Google) wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Hi Yao,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Wed, Apr 19, 2017 at 8:48 AM Yao Li <
>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I found an error in the log, it complains "FastCGI 
>>>>>>>>>>>>>>>>>>>>>>>>> sent in stderr: "PHP message: ALERT-SIMULATION - 
>>>>>>>>>>>>>>>>>>>>>>>>> Unable to open logfile: 
>>>>>>>>>>>>>>>>>>>>>>>>> /dev/stderr".
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I did create a docker image for my business 
>>>>>>>>>>>>>>>>>>>>>>>>> requirement (use own PHP framework on nginx) based on 
>>>>>>>>>>>>>>>>>>>>>>>>> Google Cloud Platform 
>>>>>>>>>>>>>>>>>>>>>>>>> php-nginx.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> https://github.com/GoogleCloudPlatform/php-docker/tree/master/php-nginx
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Glad you figured it out, although it doesn't seem 
>>>>>>>>>>>>>>>>>>>>>>>> like the real issue. The 'ALERT_SIMULATION' indicates 
>>>>>>>>>>>>>>>>>>>>>>>> that the suhosin 
>>>>>>>>>>>>>>>>>>>>>>>> extension is just emitting a warning, and it shouldn't 
>>>>>>>>>>>>>>>>>>>>>>>> stop the app.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Anyways, do you mind telling me what was the 
>>>>>>>>>>>>>>>>>>>>>>>> required change for you? Maybe we can incorporate your 
>>>>>>>>>>>>>>>>>>>>>>>> change so that you 
>>>>>>>>>>>>>>>>>>>>>>>> will be able to just use our image.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Wednesday, April 19, 2017 at 8:39:55 AM UTC-7, 
>>>>>>>>>>>>>>>>>>>>>>>>> Takashi Matsuo (Google) wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Yao,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Also feel free to send the app to me if possible 
>>>>>>>>>>>>>>>>>>>>>>>>>> so that I can try to reproduce. I'm happy to debug 
>>>>>>>>>>>>>>>>>>>>>>>>>> it.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Apr 18, 2017 at 6:32 PM Takashi Matsuo <
>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Yao,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> If you put the index.php in the project root 
>>>>>>>>>>>>>>>>>>>>>>>>>>> folder, you don't have to add the document_root.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Here is the minimum app:
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>>>>>>>>>>>>>> $ tree
>>>>>>>>>>>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>>>>>>>>>>> ├── app.yaml
>>>>>>>>>>>>>>>>>>>>>>>>>>> └── index.php
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> 0 directories, 2 files
>>>>>>>>>>>>>>>>>>>>>>>>>>> tmatsuo@t-glaptop:~/work/simplestapp$ cat 
>>>>>>>>>>>>>>>>>>>>>>>>>>> index.php 
>>>>>>>>>>>>>>>>>>>>>>>>>>> <?php
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> echo 'Hello world';
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> tmatsuo@t-glaptop:~/work/simplestapp$ cat 
>>>>>>>>>>>>>>>>>>>>>>>>>>> app.yaml
>>>>>>>>>>>>>>>>>>>>>>>>>>> env: flex
>>>>>>>>>>>>>>>>>>>>>>>>>>> runtime: php
>>>>>>>>>>>>>>>>>>>>>>>>>>> service: my-service
>>>>>>>>>>>>>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> After deploying, I can access the app at 
>>>>>>>>>>>>>>>>>>>>>>>>>>> https://my-service-dot-my-app.appspot.com/
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> If it returns 500 HTTP error, I suggest that you 
>>>>>>>>>>>>>>>>>>>>>>>>>>> go to the Logging console at:
>>>>>>>>>>>>>>>>>>>>>>>>>>> https://console.cloud.google.com/logs/viewer
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> and see what's happening there.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Apr 18, 2017 at 4:40 PM Yao Li <
>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I followed setting in the doc:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://cloud.google.com/appengine/docs/flexible/php/configuring-your-app-with-app-yaml#general
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> There is a index.php file in my project root 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> folder (for example, my project name is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> project_folder, it's app in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> doc), as the above doc, I don't have to change the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> document root in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> app.yaml, but it failed and has 500 when visit 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> service.myproject.appspot.com (I deployed it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> as a service in GAE Flex environment, I tested 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> deployment in standard 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> environment and it shows 'Hello World' as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> expected, everything is same 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> except runtime, env and service in the app.yaml).
>>>>>>>>>>>>>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I tried to define runtime_config: document_root 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> as '/', or '/project_folder', neither of them work.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I even created a folder web under root folder 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> and a index.php test file as follow in app.yaml, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> but it still doesn't find 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the index.php file.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> runtime_config:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>     document_root: web
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> How to define document_root correctly?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> You received this message because you are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> subscribed to the Google Groups "Google App 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Engine" group.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> To unsubscribe from this group and stop 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> receiving emails from it, send an email to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected].
>>>>>>>>>>>>>>>>>>>>>>>>>>>> To post to this group, send email to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected].
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Visit this group at 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://groups.google.com/group/google-appengine
>>>>>>>>>>>>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://groups.google.com/d/msgid/google-appengine/cbdc1aee-26ec-4a26-947e-11a1799c82f1%40googlegroups.com
>>>>>>>>>>>>>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/google-appengine/cbdc1aee-26ec-4a26-947e-11a1799c82f1%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> For more options, visit 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://groups.google.com/d/optout.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> <blockquote class="gmail_quote" 
>>>>>>>>>>>>>>>>>>>>>>>>> style="margin:0;margin-le
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/3ea14799-2abc-4596-8f1d-6c98658850d4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to