Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chronos issue suddenly appears #147

Closed
josegonzalez opened this issue Jun 28, 2017 · 57 comments
Closed

Chronos issue suddenly appears #147

josegonzalez opened this issue Jun 28, 2017 · 57 comments
Labels

Comments

@josegonzalez
Copy link
Member

@josegonzalez josegonzalez commented Jun 28, 2017

From @chrisShick on April 25, 2016 20:44

This is a (multiple allowed):

  • bug
  • CakePHP Version: Current Release.
  • Platform and Target: apache on xampp with php7

What you did

I have not done any php backend things yet. I have merely been styling the app before I get started on the back end.

Expected Behavior

Everything was working just fine and then suddenly I get this error:
Fatal error: Class Cake\Chronos\Chronos contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (DateTimeInterface::format) in C:\xampp\htdocs\vw\vendor\cakephp\chronos\src\Chronos.php on line 50

Copied from original issue: cakephp/cakephp#8708

@josegonzalez josegonzalez added the Defect label Jun 28, 2017
@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @markstory on April 26, 2016 1:20

How can someone reproduce this issue? What versions did you upgrade to that caused this issue to occur?

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @chrisShick on April 26, 2016 1:22

I did not upgrade to any version. This was a fresh install that was working and then suddenly started throwing the error on a page refresh. The confusing thing is that I have not touched a single line of php yet.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @markstory on April 26, 2016 1:24

Are you sure that no versions changed? It is very unusual for working code to stop working unless something changes.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @chrisShick on April 26, 2016 1:25

I looked into the ChronosInterface interface class and noticed that it does not implement the required format action that is required by the DateTimeInterface

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @chrisShick on April 26, 2016 1:25

Yes, sir. I have not changed the version at all. I haven't touched my xampp configurations or the php backend code.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @markstory on April 26, 2016 1:26

It never has. That method gets implemented by the native DateTime and DateTimeImmutable classes that chronos extends.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @markstory on April 26, 2016 1:27

Without a way to reproduce or even track this down, there is not much anyone can do for you.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @chrisShick on April 26, 2016 1:30

Alright, I will do another fresh install and see if I can reproduce the issue. I just do not see how this just pops up.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @hraq on May 9, 2016 7:25

Hi,

I have same problem as chrisShick.

Set up
CakePHP: 3.2.5
PHP: 7.0.1 (ZTS) 32bit on Windows (XAMPP)
Chronos: 0.4.8
IDE: PHPStorm 2016.1

Description

Fatal error: Class Cake\Chronos\Chronos contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (DateTimeInterface::diff) in C:\xampp\htdocs\[ProjectDir]\vendor\cakephp\chronos\src\Chronos.php on line 50

This problem happens in randomly. I haven't noticed any pattern on error occuring.
Error has show up 4-5 times.

First times when this error happens to me, I had older CakePHP release with Carbon.
It was same problem, but occurs in Carbon class. First I think that was just bug of Carbon.
I upgrade my Cake project to latest stable - with out Carbon and think that problem was gone.
Few days later this (today) error comes again in my screen.

What I did before error happens? I have two files open. One *.ctp and one *.po. I worked with both files about 30min and refresh edited pages multiple times (~20). Everything works fine. Then error just popup in my screen. I have done nothing else than just edited one input tag in *.ctp file. Nothing else, Not edited *.po file, not change or touch any PHP config files etc.

I open another url in my project, same error message in there to. I open third url, no changes. I refresh pages, nothing happens. Only way to get off that error was restart Apache.

Because this error shows as in two different libraries and every urls in project and only disappears when restart Apache, I think this is bug on PHP, not Cake nor Chronos nor Carbon.

What I next try, is update my PHP version to newer (7.0.5) and look if that get this problem away.

Note: I haven't tested if this problem happens in Linux. Hope not or I can't make any new releases before this problem is solved...

Edit: Added full error to post

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @lorenzo on May 9, 2016 8:20

You should start by upgrading your cakephp version

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @hraq on May 9, 2016 11:36

Upgrading Cake wasn't where I start "fixing" this problem.

In my post I forfot say that 3-4 times it was Carbon what throws that error. Only once it was came up to Chronos.

I've tried to hunt if there is any bug in code, but not yet found any. I cleared cake and browser caches etc. It's happens so randomly that time between errors could be weeks (thats make debugging little bit harder). I also thought that it's just my system that is unstable. But after installing my cake project from source again and upgraded XAMPP (PHP 7.0.0 to 7.0.1) and now that someone else has been a same problem, this just can't be for my environment what causes it.

Just installed PHP 7.0.5 and watching if this solve that problem.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @robertscherer on May 16, 2016 9:31

I can confirm this issue exists.

My environment:

  • Mac OS X 10.11.4
  • Apache 2.4 via homebrew
  • PHP 7.0.6 via homebrew
  • CakePHP 3.2.8

This is the message:

Fatal error: Class Cake\Chronos\Chronos contains 4 abstract methods and must therefore be declared abstract or implement the remaining methods (DateTimeInterface::format, DateTimeInterface::getTimezone, DateTimeInterface::diff, ...) in /.../Sites/.../vendor/cakephp/chronos/src/Chronos.php on line 50

I too can confirm that it appears randomly and I have trouble reproducing it. An apache restart seems to resolve it for some time.

Is there any information I can provide to help reproduce this?

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @lorenzo on May 16, 2016 12:11

Sounds like a problem related to php in apache

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @lorenzo on May 16, 2016 12:29

Do you mind using another webserver during your tests to see if the error can be replicated?

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @robertscherer on May 16, 2016 12:31

I have tried to reproduce the issue for the last hour, but wasn't able to. I'd say we leave it be as I too think this has nothing to do with CakePHP.
Thanks,

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @chrisShick on May 16, 2016 12:58

At this point, I agree that it has nothing to do with CakePHP. It must have something to do with PHP and Apache.
I wish I could do more, but I have not been able to replicate the issue again since this ticket after restarting my apache.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @Bird87ZA on June 15, 2016 6:20

Can also confirm this issue. Can't replicate it. Sometimes leaving the page for 5 - 10 minutes and then refreshing resolves the issue.

I'm on version 3.2.9. This occurred on 3.2.8 and 3.2.7 as well.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @jippi on June 15, 2016 6:23

attach gdb to the process from cli while testing - maybe there can be found cause in there

are opcache enabled?

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @Nirgalz on September 3, 2016 12:19

Can confirm the issue.
Switching from php7 to php5 resolves the issue.
I'm on version 3.3.2

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @szel on October 11, 2016 14:31

Could this be an issue?

/**
 * An extension to the DateTimeInterface for a friendlier API
 */
interface ChronosInterface extends DateTimeInterface

Where PHP manual says:

Version Description
5.5.8   Trying to implement DateTimeInterface raises a fatal error now. Formerly implementing the interface didn't raise an error, but the behavior was erroneous.

Source: http://php.net/manual/en/class.datetimeinterface.php

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @RickyNotaro on October 28, 2016 21:10

I got the same issue while I was editing a view on CakePhp 3.3, PHP 7.0.1, Apache/2.4.23. An Apache service restart did the job on my Ubuntu VPS.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

@szel that sounds interesting. Does anyone have a vagrant vm that might be able to replicate this issue?

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @3811015 on January 9, 2017 8:26

I had the issue too on my dev enviroment.

Reproducable until I restartet apache. Now its gone.

Didnt see this in production until now, there is nginx and php-fpm + opcache deployed.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

@3811015 what other differences are there between your envs?

  • Operating System (and version)
  • Server version
  • PHP Version
  • Installed extensions
@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @3811015 on January 9, 2017 9:2

@josegonzalez

Production:
CloudOs (commercial fork of centOs),

Dev:
Win7, 64bit,
xampp,

Both have additional libsodium activated.

The more interesting fact is that the error stuck from Thursday to Monday on my Dev Env, I just was too lazy caring about it and switched to another Story about some Datebase settings first. So once you have it, you should be able to reproduce it.
And hat triggered it? I switched branches before. So a lot of config and code changed. but I have doubts that this triggered it, as redoing the switch does not bring back the error.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

Can you include the exact php version, as well as an exact list of extensions installed in each?

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @3811015 on January 9, 2017 9:41

@josegonzalez today evening, i'll take the time.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @3811015 on January 10, 2017 9:45

@josegonzalez

#Server, where it didnt occur (Production)

##php

[root@de-kt-web-01 ~]# php -i
Cannot load Zend OPcache - it was already loaded
PHP Warning:  PHP Startup: Invalid library (appears to be a Zend Extension, try loading using zend_extension=opcache.so from php.ini) in Unknown on line 0
phpinfo()
PHP Version => 7.0.13

System => Linux de-kt-web-01 3.10.0-427.10.1.lve1.4.7.el7.x86_64 #1 SMP Sat Apr 2 12:09:46 EDT 2016 x86_64
Build Date => Nov 10 2016 22:32:58
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
Scan this dir for additional .ini files => /etc/php.d
Additional .ini files parsed => /etc/php.d/10-opcache.ini,
/etc/php.d/bz2.ini,
/etc/php.d/calendar.ini,
/etc/php.d/ctype.ini,
/etc/php.d/curl.ini,
/etc/php.d/exif.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/ftp.ini,
/etc/php.d/gettext.ini,
/etc/php.d/gmp.ini,
/etc/php.d/iconv.ini,
/etc/php.d/intl.ini,
/etc/php.d/json.ini,
/etc/php.d/mbstring.ini,
/etc/php.d/mysqlnd.ini,
/etc/php.d/mysqlnd_mysqli.ini,
/etc/php.d/opcache.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysqlnd.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/shmop.ini,
/etc/php.d/simplexml.ini,
/etc/php.d/sockets.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/tokenizer.ini,
/etc/php.d/xml.ini,
/etc/php.d/zip.ini

PHP API => 20151012
PHP Extension => 20151012
Zend Extension => 320151012
Zend Extension Build => API320151012,NTS
PHP Extension Build => API20151012,NTS
Debug Build => no
Thread Safety => disabled
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => provided by mbstring
IPv6 Support => enabled
DTrace Support => enabled

Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, compress.bzip2, phar, zip
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, sslv3, sslv2, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, bzip2.*, convert.iconv.*

This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.13, Copyright (c) 1999-2016, by Zend Technologies


 _______________________________________________________________________


Configuration

bz2

BZip2 Support => Enabled
Stream Wrapper support => compress.bzip2://
Stream Filter support => bzip2.decompress, bzip2.compress
BZip2 Version => 1.0.6, 6-Sept-2010

calendar

Calendar support => enabled

Core

PHP Version => 7.0.13

Directive => Local Value => Master Value
allow_url_fopen => On => On
allow_url_include => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => UTF-8 => UTF-8
default_mimetype => text/html => text/html
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => Off => Off
display_startup_errors => Off => Off
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => Off => Off
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => no value => no value
error_prepend_string => no value => no value
error_reporting => 22527 => 22527
exit_on_timeout => Off => Off
expose_php => Off => Off
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
file_uploads => On => On
highlight.comment => <font style="color: #FF8000">#FF8000</font> => <font style="color: #FF8000">#FF8000</font>
highlight.default => <font style="color: #0000BB">#0000BB</font> => <font style="color: #0000BB">#0000BB</font>
highlight.html => <font style="color: #000000">#000000</font> => <font style="color: #000000">#000000</font>
highlight.keyword => <font style="color: #007700">#007700</font> => <font style="color: #007700">#007700</font>
highlight.string => <font style="color: #DD0000">#DD0000</font> => <font style="color: #DD0000">#DD0000</font>
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => .:/usr/share/pear:/usr/share/php => .:/usr/share/pear:/usr/share/php
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => On => On
log_errors_max_len => 1024 => 1024
mail.add_x_header => On => On
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
memory_limit => 2048M => 2048M
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => no value => no value
output_handler => no value => no value
post_max_size => 8M => 8M
precision => 14 => 14
realpath_cache_size => 16K => 16K
realpath_cache_ttl => 120 => 120
register_argc_argv => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
request_order => GP => GP
sendmail_from => no value => no value
sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i
serialize_precision => 17 => 17
short_open_tag => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sql.safe_mode => Off => Off
sys_temp_dir => no value => no value
track_errors => Off => Off
unserialize_callback_func => no value => no value
upload_max_filesize => 100M => 100M
upload_tmp_dir => no value => no value
user_dir => no value => no value
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
variables_order => GPCS => GPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
zend.assertions => 1 => 1
zend.detect_unicode => On => On
zend.enable_gc => On => On
zend.multibyte => Off => Off
zend.script_encoding => no value => no value

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 7.29.0
Age => 3
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => Yes
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => No
SSL => Yes
SSPI => No
TLS-SRP => No
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp
Host => x86_64-redhat-linux-gnu
SSL Version => NSS/3.21 Basic ECC
ZLib Version => 1.2.7
libSSH Version => libssh2/1.4.3

date

date/time support => enabled
"Olson" Timezone Database Version => 0.system
Timezone Database => internal
Default timezone => UTC

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.583333 => 90.583333
date.sunset_zenith => 90.583333 => 90.583333
date.timezone => no value => no value

exif

EXIF Support => enabled
EXIF Version => 1.4 $Id: 8bdc0c8f27c2c9dd1f7551f1f9fe3ab57a06a4b1 $
Supported EXIF Version => 0220
Supported filetypes => JPEG,TIFF

Directive => Local Value => Master Value
exif.decode_jis_intel => JIS => JIS
exif.decode_jis_motorola => JIS => JIS
exif.decode_unicode_intel => UCS-2LE => UCS-2LE
exif.decode_unicode_motorola => UCS-2BE => UCS-2BE
exif.encode_jis => no value => no value
exif.encode_unicode => ISO-8859-15 => ISO-8859-15

fileinfo

fileinfo support => enabled
version => 1.0.5
libmagic => 522

filter

Input Validation and Filtering => enabled
Revision => $Id: 613c0b75ea13d5c3f89571bd253d16ac861b43fc $

Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value

ftp

FTP support => enabled
FTPS support => enabled

gettext

GetText Support => enabled

gmp

gmp support => enabled
GMP version => 6.0.0

hash

hash support => enabled
Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

MHASH support => Enabled
MHASH API Version => Emulated Support

iconv

iconv support => enabled
iconv implementation => glibc
iconv library version => 2.17

Directive => Local Value => Master Value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value

intl

Internationalization support => enabled
version => 1.1.0
ICU version => 50.1.2
ICU Data version => 50.1

Directive => Local Value => Master Value
intl.default_locale => de_DE => de_DE
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0

json

json support => enabled
json version => 1.4.0

libsodium

libsodium support => enabled
libsodium compiled version => 1.0.6
libsodium headers version => 1.0.10
libsodium library version => 1.0.11

libxml

libXML support => active
libXML Compiled Version => 2.9.1
libXML Loaded Version => 20901
libXML streams => enabled

mbstring

Multibyte Support => enabled
Multibyte string engine => libmbfl
HTTP input encoding translation => disabled
libmbfl version => 1.3.2
oniguruma version => 5.9.6

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Multibyte (japanese) regex support => enabled
Multibyte regex (oniguruma) backtrack check => On
Multibyte regex (oniguruma) version => 5.9.6

Directive => Local Value => Master Value
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.func_overload => 0 => 0
mbstring.http_input => no value => no value
mbstring.http_output => no value => no value
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => no value => no value
mbstring.language => neutral => neutral
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0

Directive => Local Value => Master Value
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off

mysqlnd

mysqlnd => enabled
Version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 31536000
Collecting statistics => Yes
Collecting memory statistics => No
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
API Extensions => mysqli,pdo_mysql

mysqlnd statistics =>
bytes_sent => 0
bytes_received => 0
packets_sent => 0
packets_received => 0
protocol_overhead_in => 0
protocol_overhead_out => 0
bytes_received_ok_packet => 0
bytes_received_eof_packet => 0
bytes_received_rset_header_packet => 0
bytes_received_rset_field_meta_packet => 0
bytes_received_rset_row_packet => 0
bytes_received_prepare_response_packet => 0
bytes_received_change_user_packet => 0
packets_sent_command => 0
packets_received_ok => 0
packets_received_eof => 0
packets_received_rset_header => 0
packets_received_rset_field_meta => 0
packets_received_rset_row => 0
packets_received_prepare_response => 0
packets_received_change_user => 0
result_set_queries => 0
non_result_set_queries => 0
no_index_used => 0
bad_index_used => 0
slow_queries => 0
buffered_sets => 0
unbuffered_sets => 0
ps_buffered_sets => 0
ps_unbuffered_sets => 0
flushed_normal_sets => 0
flushed_ps_sets => 0
ps_prepared_never_executed => 0
ps_prepared_once_executed => 0
rows_fetched_from_server_normal => 0
rows_fetched_from_server_ps => 0
rows_buffered_from_client_normal => 0
rows_buffered_from_client_ps => 0
rows_fetched_from_client_normal_buffered => 0
rows_fetched_from_client_normal_unbuffered => 0
rows_fetched_from_client_ps_buffered => 0
rows_fetched_from_client_ps_unbuffered => 0
rows_fetched_from_client_ps_cursor => 0
rows_affected_normal => 0
rows_affected_ps => 0
rows_skipped_normal => 0
rows_skipped_ps => 0
copy_on_write_saved => 0
copy_on_write_performed => 0
command_buffer_too_small => 0
connect_success => 0
connect_failure => 0
connection_reused => 0
reconnect => 0
pconnect_success => 0
active_connections => 0
active_persistent_connections => 0
explicit_close => 0
implicit_close => 0
disconnect_close => 0
in_middle_of_command_close => 0
explicit_free_result => 0
implicit_free_result => 0
explicit_stmt_close => 0
implicit_stmt_close => 0
mem_emalloc_count => 0
mem_emalloc_amount => 0
mem_ecalloc_count => 0
mem_ecalloc_amount => 0
mem_erealloc_count => 0
mem_erealloc_amount => 0
mem_efree_count => 0
mem_efree_amount => 0
mem_malloc_count => 0
mem_malloc_amount => 0
mem_calloc_count => 0
mem_calloc_amount => 0
mem_realloc_count => 0
mem_realloc_amount => 0
mem_free_count => 0
mem_free_amount => 0
mem_estrndup_count => 0
mem_strndup_count => 0
mem_estndup_count => 0
mem_strdup_count => 0
proto_text_fetched_null => 0
proto_text_fetched_bit => 0
proto_text_fetched_tinyint => 0
proto_text_fetched_short => 0
proto_text_fetched_int24 => 0
proto_text_fetched_int => 0
proto_text_fetched_bigint => 0
proto_text_fetched_decimal => 0
proto_text_fetched_float => 0
proto_text_fetched_double => 0
proto_text_fetched_date => 0
proto_text_fetched_year => 0
proto_text_fetched_time => 0
proto_text_fetched_datetime => 0
proto_text_fetched_timestamp => 0
proto_text_fetched_string => 0
proto_text_fetched_blob => 0
proto_text_fetched_enum => 0
proto_text_fetched_set => 0
proto_text_fetched_geometry => 0
proto_text_fetched_other => 0
proto_binary_fetched_null => 0
proto_binary_fetched_bit => 0
proto_binary_fetched_tinyint => 0
proto_binary_fetched_short => 0
proto_binary_fetched_int24 => 0
proto_binary_fetched_int => 0
proto_binary_fetched_bigint => 0
proto_binary_fetched_decimal => 0
proto_binary_fetched_float => 0
proto_binary_fetched_double => 0
proto_binary_fetched_date => 0
proto_binary_fetched_year => 0
proto_binary_fetched_time => 0
proto_binary_fetched_datetime => 0
proto_binary_fetched_timestamp => 0
proto_binary_fetched_string => 0
proto_binary_fetched_json => 0
proto_binary_fetched_blob => 0
proto_binary_fetched_enum => 0
proto_binary_fetched_set => 0
proto_binary_fetched_geometry => 0
proto_binary_fetched_other => 0
init_command_executed_count => 0
init_command_failed_count => 0
com_quit => 0
com_init_db => 0
com_query => 0
com_field_list => 0
com_create_db => 0
com_drop_db => 0
com_refresh => 0
com_shutdown => 0
com_statistics => 0
com_process_info => 0
com_connect => 0
com_process_kill => 0
com_debug => 0
com_ping => 0
com_time => 0
com_delayed_insert => 0
com_change_user => 0
com_binlog_dump => 0
com_table_dump => 0
com_connect_out => 0
com_register_slave => 0
com_stmt_prepare => 0
com_stmt_execute => 0
com_stmt_send_long_data => 0
com_stmt_close => 0
com_stmt_reset => 0
com_stmt_set_option => 0
com_stmt_fetch => 0
com_deamon => 0
bytes_received_real_data_normal => 0
bytes_received_real_data_ps => 0

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1e-fips 11 Feb 2013
OpenSSL Header Version => OpenSSL 1.0.1e-fips 11 Feb 2013
Openssl default config => /etc/pki/tls/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

pcntl

pcntl support => enabled

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 8.38 2015-11-23
PCRE JIT Support => enabled

Directive => Local Value => Master Value
pcre.backtrack_limit => 1000000 => 1000000
pcre.jit => 1 => 1
pcre.recursion_limit => 100000 => 100000

PDO

PDO support => enabled
PDO drivers => mysql, sqlite

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $

Directive => Local Value => Master Value
pdo_mysql.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock

pdo_sqlite

PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.7.17

Phar

Phar: PHP Archive support => enabled
Phar EXT version => 2.0.2
Phar API version => 1.1.1
SVN revision => $Id: 860f5132d446a7b24c2bbf050ce6949381ea8db5 $
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => enabled
Native OpenSSL support => enabled


Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

readline

Readline Support => enabled
Readline library => EditLine wrapper

Directive => Local Value => Master Value
cli.pager => no value => no value
cli.prompt => \b \>  => \b \>

Reflection

Reflection => enabled
Version => $Id: b24f9c691ddba60f618ecf2ba7ae131a76cfc722 $

session

Session Support => enabled
Registered save handlers => files user
Registered serializer handlers => php_serialize php php_binary

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => Off => Off
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_secure => Off => Off
session.entropy_file => /dev/urandom => /dev/urandom
session.entropy_length => 32 => 32
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 1 => 1
session.hash_bits_per_character => 5 => 5
session.hash_function => 0 => 0
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => no value => no value
session.serialize_handler => php => php
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => On => On
session.use_only_cookies => On => On
session.use_strict_mode => Off => Off
session.use_trans_sid => 0 => 0

shmop

shmop support => enabled

SimpleXML

Simplexml support => enabled
Revision => $Id: a0c9e98a9e216920fcf75a02da085c9616b16cc8 $
Schema support => enabled

sockets

Sockets Support => enabled

SPL

SPL support => enabled
Interfaces => Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

sqlite3

SQLite3 support => enabled
SQLite3 module version => 0.7-dev
SQLite Library => 3.7.17

Directive => Local Value => Master Value
sqlite3.extension_dir => no value => no value

standard

Dynamic Library Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i

Directive => Local Value => Master Value
assert.active => 1 => 1
assert.bail => 0 => 0
assert.callback => no value => no value
assert.exception => 0 => 0
assert.quiet_eval => 0 => 0
assert.warning => 1 => 1
auto_detect_line_endings => 0 => 0
default_socket_timeout => 60 => 60
from => no value => no value
url_rewriter.tags => a=href,area=href,frame=src,input=src,form=fakeentry => a=href,area=href,frame=src,input=src,form=fakeentry
user_agent => no value => no value

tokenizer

Tokenizer Support => enabled

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.9.1

Zend OPcache

Opcode Caching => Disabled
Optimization => Disabled
SHM Cache => Enabled
File Cache => Disabled
Startup Failed => Opcode Caching is disabled for CLI

Directive => Local Value => Master Value
opcache.blacklist_filename => /etc/php.d/opcache*.blacklist => /etc/php.d/opcache*.blacklist
opcache.consistency_checks => 0 => 0
opcache.dups_fix => Off => Off
opcache.enable => On => On
opcache.enable_cli => Off => Off
opcache.enable_file_override => Off => Off
opcache.error_log => no value => no value
opcache.fast_shutdown => 1 => 1
opcache.file_cache => no value => no value
opcache.file_cache_consistency_checks => 1 => 1
opcache.file_cache_only => 0 => 0
opcache.file_update_protection => 2 => 2
opcache.force_restart_timeout => 180 => 180
opcache.huge_code_pages => Off => Off
opcache.inherited_hack => On => On
opcache.interned_strings_buffer => 8 => 8
opcache.lockfile_path => /tmp => /tmp
opcache.log_verbosity_level => 1 => 1
opcache.max_accelerated_files => 4000 => 4000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
opcache.memory_consumption => 128 => 128
opcache.optimization_level => 0x7FFFBFFF => 0x7FFFBFFF
opcache.preferred_memory_model => no value => no value
opcache.protect_memory => 0 => 0
opcache.restrict_api => no value => no value
opcache.revalidate_freq => 2 => 2
opcache.revalidate_path => Off => Off
opcache.save_comments => 1 => 1
opcache.use_cwd => On => On
opcache.validate_timestamps => On => On

zip

Zip => enabled
Zip version => 1.13.5
Libzip version => 1.1.2

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.7
Linked Version => 1.2.7

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name

Environment

Variable => Value
XDG_SESSION_ID => 56723
HOSTNAME => de-kt-web-01
TERM => xterm
SHELL => /bin/bash
HISTSIZE => 1000
SSH_CLIENT => 10.98.13.138 53267 22
SSH_TTY => /dev/pts/0
USER => root
LS_COLORS => rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL => /var/spool/mail/root
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD => /root
LANG => de_DE.UTF-8
MODULEPATH => /usr/share/Modules/modulefiles:/etc/modulefiles
LOADEDMODULES =>
HISTCONTROL => ignoredups
SHLVL => 1
HOME => /root
LOGNAME => root
SSH_CONNECTION => 10.98.13.138 53267 10.98.16.31 22
MODULESHOME => /usr/share/Modules
LESSOPEN => ||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR => /run/user/0
BASH_FUNC_module() => () {  eval `/usr/bin/modulecmd bash $*`
}
_ => /usr/bin/php

PHP Variables

Variable => Value
$_SERVER['XDG_SESSION_ID'] => 56723
$_SERVER['HOSTNAME'] => de-kt-web-01
$_SERVER['TERM'] => xterm
$_SERVER['SHELL'] => /bin/bash
$_SERVER['HISTSIZE'] => 1000
$_SERVER['SSH_CLIENT'] => 10.98.13.138 53267 22
$_SERVER['SSH_TTY'] => /dev/pts/0
$_SERVER['USER'] => root
$_SERVER['LS_COLORS'] => rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
$_SERVER['MAIL'] => /var/spool/mail/root
$_SERVER['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
$_SERVER['PWD'] => /root
$_SERVER['LANG'] => de_DE.UTF-8
$_SERVER['MODULEPATH'] => /usr/share/Modules/modulefiles:/etc/modulefiles
$_SERVER['LOADEDMODULES'] =>
$_SERVER['HISTCONTROL'] => ignoredups
$_SERVER['SHLVL'] => 1
$_SERVER['HOME'] => /root
$_SERVER['LOGNAME'] => root
$_SERVER['SSH_CONNECTION'] => 10.98.13.138 53267 10.98.16.31 22
$_SERVER['MODULESHOME'] => /usr/share/Modules
$_SERVER['LESSOPEN'] => ||/usr/bin/lesspipe.sh %s
$_SERVER['XDG_RUNTIME_DIR'] => /run/user/0
$_SERVER['BASH_FUNC_module()'] => () {  eval `/usr/bin/modulecmd bash $*`
}
$_SERVER['_'] => /usr/bin/php
$_SERVER['PHP_SELF'] =>
$_SERVER['SCRIPT_NAME'] =>
$_SERVER['SCRIPT_FILENAME'] =>
$_SERVER['PATH_TRANSLATED'] =>
$_SERVER['DOCUMENT_ROOT'] =>
$_SERVER['REQUEST_TIME_FLOAT'] => 1484040795.9298
$_SERVER['REQUEST_TIME'] => 1484040795
$_SERVER['argv'] => Array
(
)

$_SERVER['argc'] => 0

PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file:  LICENSE

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact license@php.net.

#System where I saw i more than once occuring (dev)

php

phpinfo()
PHP Version => 7.0.13

System => Windows NT WS-PA-0047 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) i586
Build Date => Nov  8 2016 13:30:03
Compiler => MSVC14 (Visual C++ 2015)
Architecture => x86
Configure Command => cscript /nologo configure.js  "--enable-snapshot-build" "--enable-debug-pack" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"
Server API => Command Line Interface
Virtual Directory Support => enabled
Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => C:\xampp\php\php.ini
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
PHP API => 20151012
PHP Extension => 20151012
Zend Extension => 320151012
Zend Extension Build => API320151012,TS,VC14
PHP Extension Build => API20151012,TS,VC14
Debug Build => no
Thread Safety => enabled
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => provided by mbstring
IPv6 Support => enabled
DTrace Support => disabled

Registered PHP Streams => php, file, glob, data, http, ftp, zip, compress.zlib, compress.bzip2, https, ftps, phar
Registered Stream Socket Transports => tcp, udp, ssl, sslv3, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filters => convert.iconv.*, mcrypt.*, mdecrypt.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, zlib.*, bzip2.*

This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies


 _______________________________________________________________________


Configuration

bcmath

BCMath support => enabled

Directive => Local Value => Master Value
bcmath.scale => 0 => 0

bz2

BZip2 Support => Enabled
Stream Wrapper support => compress.bzip2://
Stream Filter support => bzip2.decompress, bzip2.compress
BZip2 Version => 1.0.6, 6-Sept-2010

calendar

Calendar support => enabled

Core

PHP Version => 7.0.13

Directive => Local Value => Master Value
allow_url_fopen => On => On
allow_url_include => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => C:\xampp\php\extras\browscap.ini => C:\xampp\php\extras\browscap.ini
default_charset => UTF-8 => UTF-8
default_mimetype => text/html => text/html
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => STDOUT => STDOUT
display_startup_errors => On => On
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => Off => Off
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => C:\xampp\php\logs\php_error_log => C:\xampp\php\logs\php_error_log
error_prepend_string => no value => no value
error_reporting => 22527 => 22527
exit_on_timeout => Off => Off
expose_php => On => On
extension_dir => C:\xampp\php\ext => C:\xampp\php\ext
file_uploads => On => On
highlight.comment => <font style="color: #FF8000">#FF8000</font> => <font style="color: #FF8000">#FF8000</font>
highlight.default => <font style="color: #0000BB">#0000BB</font> => <font style="color: #0000BB">#0000BB</font>
highlight.html => <font style="color: #000000">#000000</font> => <font style="color: #000000">#000000</font>
highlight.keyword => <font style="color: #007700">#007700</font> => <font style="color: #007700">#007700</font>
highlight.string => <font style="color: #DD0000">#DD0000</font> => <font style="color: #DD0000">#DD0000</font>
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => C:\xampp\php\PEAR => C:\xampp\php\PEAR
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => On => On
log_errors_max_len => 1024 => 1024
mail.add_x_header => On => On
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
memory_limit => 2048M => 2048M
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => no value => no value
output_handler => no value => no value
post_max_size => 8M => 8M
precision => 14 => 14
realpath_cache_size => 16K => 16K
realpath_cache_ttl => 120 => 120
register_argc_argv => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
request_order => GP => GP
sendmail_from => no value => no value
sendmail_path => no value => no value
serialize_precision => 17 => 17
short_open_tag => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sql.safe_mode => Off => Off
sys_temp_dir => no value => no value
track_errors => Off => Off
unserialize_callback_func => no value => no value
upload_max_filesize => 2M => 2M
upload_tmp_dir => C:\xampp\tmp => C:\xampp\tmp
user_dir => no value => no value
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
variables_order => GPCS => GPCS
windows.show_crt_warning => Off => Off
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
zend.assertions => 1 => 1
zend.detect_unicode => On => On
zend.enable_gc => On => On
zend.multibyte => Off => Off
zend.script_encoding => no value => no value

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 7.51.0
Age => 3
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => No
SPNEGO => Yes
SSL => Yes
SSPI => Yes
TLS-SRP => No
HTTP2 => No
GSSAPI => No
KERBEROS5 => Yes
UNIX_SOCKETS => No
PSL => No
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp
Host => i386-pc-win32
SSL Version => OpenSSL/1.0.2j
ZLib Version => 1.2.8
libSSH Version => libssh2/1.8.0

date

date/time support => enabled
"Olson" Timezone Database Version => 2016.8
Timezone Database => internal
Default timezone => Europe/Berlin

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.583333 => 90.583333
date.sunset_zenith => 90.583333 => 90.583333
date.timezone => Europe/Berlin => Europe/Berlin

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.9.4
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled

exif

EXIF Support => enabled
EXIF Version => 1.4 $Id: 8bdc0c8f27c2c9dd1f7551f1f9fe3ab57a06a4b1 $
Supported EXIF Version => 0220
Supported filetypes => JPEG,TIFF

Directive => Local Value => Master Value
exif.decode_jis_intel => JIS => JIS
exif.decode_jis_motorola => JIS => JIS
exif.decode_unicode_intel => UCS-2LE => UCS-2LE
exif.decode_unicode_motorola => UCS-2BE => UCS-2BE
exif.encode_jis => no value => no value
exif.encode_unicode => ISO-8859-15 => ISO-8859-15

fileinfo

fileinfo support => enabled
version => 1.0.5
libmagic => 522

filter

Input Validation and Filtering => enabled
Revision => $Id: 613c0b75ea13d5c3f89571bd253d16ac861b43fc $

Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value

ftp

FTP support => enabled
FTPS support => enabled

gd

GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.7.0
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 9 compatible
PNG Support => enabled
libPNG Version => 1.6.21
WBMP Support => enabled
XPM Support => enabled
libXpm Version => 30411
XBM Support => enabled
WebP Support => enabled

Directive => Local Value => Master Value
gd.jpeg_ignore_warning => 0 => 0

gettext

GetText Support => enabled

hash

hash support => enabled
Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 

MHASH support => Enabled
MHASH API Version => Emulated Support

iconv

iconv support => enabled
iconv implementation => "libiconv"
iconv library version => 1.14

Directive => Local Value => Master Value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value

intl

Internationalization support => enabled
version => 1.1.0
ICU version => 57.1
ICU Data version => 57.1

Directive => Local Value => Master Value
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0

json

json support => enabled
json version => 1.4.0

libsodium

libsodium support => enabled
libsodium compiled version => 1.0.6
libsodium headers version => 1.0.10
libsodium library version => 1.0.10

libxml

libXML support => active
libXML Compiled Version => 2.9.4
libXML Loaded Version => 20904
libXML streams => enabled

mbstring

Multibyte Support => enabled
Multibyte string engine => libmbfl
HTTP input encoding translation => disabled
libmbfl version => 1.3.2
oniguruma version => 5.9.6

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Multibyte (japanese) regex support => enabled
Multibyte regex (oniguruma) version => 5.9.6

Directive => Local Value => Master Value
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.func_overload => 0 => 0
mbstring.http_input => no value => no value
mbstring.http_output => no value => no value
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => no value => no value
mbstring.language => neutral => neutral
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value

mcrypt

mcrypt support => enabled
mcrypt_filter support => enabled
Version => 2.5.8
Api No => 20021217
Supported ciphers => cast-128 gost rijndael-128 twofish cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes arcfour 
Supported modes => cbc cfb ctr ecb ncfb nofb ofb stream 

Directive => Local Value => Master Value
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0

Directive => Local Value => Master Value
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off

mysqlnd

mysqlnd => enabled
Version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Compression => supported
core SSL => supported
extended SSL => not supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 31536000
Collecting statistics => Yes
Collecting memory statistics => Yes
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password
API Extensions => mysqli,pdo_mysql

mysqlnd statistics =>  
bytes_sent => 0
bytes_received => 0
packets_sent => 0
packets_received => 0
protocol_overhead_in => 0
protocol_overhead_out => 0
bytes_received_ok_packet => 0
bytes_received_eof_packet => 0
bytes_received_rset_header_packet => 0
bytes_received_rset_field_meta_packet => 0
bytes_received_rset_row_packet => 0
bytes_received_prepare_response_packet => 0
bytes_received_change_user_packet => 0
packets_sent_command => 0
packets_received_ok => 0
packets_received_eof => 0
packets_received_rset_header => 0
packets_received_rset_field_meta => 0
packets_received_rset_row => 0
packets_received_prepare_response => 0
packets_received_change_user => 0
result_set_queries => 0
non_result_set_queries => 0
no_index_used => 0
bad_index_used => 0
slow_queries => 0
buffered_sets => 0
unbuffered_sets => 0
ps_buffered_sets => 0
ps_unbuffered_sets => 0
flushed_normal_sets => 0
flushed_ps_sets => 0
ps_prepared_never_executed => 0
ps_prepared_once_executed => 0
rows_fetched_from_server_normal => 0
rows_fetched_from_server_ps => 0
rows_buffered_from_client_normal => 0
rows_buffered_from_client_ps => 0
rows_fetched_from_client_normal_buffered => 0
rows_fetched_from_client_normal_unbuffered => 0
rows_fetched_from_client_ps_buffered => 0
rows_fetched_from_client_ps_unbuffered => 0
rows_fetched_from_client_ps_cursor => 0
rows_affected_normal => 0
rows_affected_ps => 0
rows_skipped_normal => 0
rows_skipped_ps => 0
copy_on_write_saved => 0
copy_on_write_performed => 0
command_buffer_too_small => 0
connect_success => 0
connect_failure => 0
connection_reused => 0
reconnect => 0
pconnect_success => 0
active_connections => 0
active_persistent_connections => 0
explicit_close => 0
implicit_close => 0
disconnect_close => 0
in_middle_of_command_close => 0
explicit_free_result => 0
implicit_free_result => 0
explicit_stmt_close => 0
implicit_stmt_close => 0
mem_emalloc_count => 0
mem_emalloc_amount => 0
mem_ecalloc_count => 0
mem_ecalloc_amount => 0
mem_erealloc_count => 0
mem_erealloc_amount => 0
mem_efree_count => 0
mem_efree_amount => 0
mem_malloc_count => 0
mem_malloc_amount => 0
mem_calloc_count => 0
mem_calloc_amount => 0
mem_realloc_count => 0
mem_realloc_amount => 0
mem_free_count => 0
mem_free_amount => 0
mem_estrndup_count => 0
mem_strndup_count => 0
mem_estndup_count => 0
mem_strdup_count => 0
proto_text_fetched_null => 0
proto_text_fetched_bit => 0
proto_text_fetched_tinyint => 0
proto_text_fetched_short => 0
proto_text_fetched_int24 => 0
proto_text_fetched_int => 0
proto_text_fetched_bigint => 0
proto_text_fetched_decimal => 0
proto_text_fetched_float => 0
proto_text_fetched_double => 0
proto_text_fetched_date => 0
proto_text_fetched_year => 0
proto_text_fetched_time => 0
proto_text_fetched_datetime => 0
proto_text_fetched_timestamp => 0
proto_text_fetched_string => 0
proto_text_fetched_blob => 0
proto_text_fetched_enum => 0
proto_text_fetched_set => 0
proto_text_fetched_geometry => 0
proto_text_fetched_other => 0
proto_binary_fetched_null => 0
proto_binary_fetched_bit => 0
proto_binary_fetched_tinyint => 0
proto_binary_fetched_short => 0
proto_binary_fetched_int24 => 0
proto_binary_fetched_int => 0
proto_binary_fetched_bigint => 0
proto_binary_fetched_decimal => 0
proto_binary_fetched_float => 0
proto_binary_fetched_double => 0
proto_binary_fetched_date => 0
proto_binary_fetched_year => 0
proto_binary_fetched_time => 0
proto_binary_fetched_datetime => 0
proto_binary_fetched_timestamp => 0
proto_binary_fetched_string => 0
proto_binary_fetched_json => 0
proto_binary_fetched_blob => 0
proto_binary_fetched_enum => 0
proto_binary_fetched_set => 0
proto_binary_fetched_geometry => 0
proto_binary_fetched_other => 0
init_command_executed_count => 0
init_command_failed_count => 0
com_quit => 0
com_init_db => 0
com_query => 0
com_field_list => 0
com_create_db => 0
com_drop_db => 0
com_refresh => 0
com_shutdown => 0
com_statistics => 0
com_process_info => 0
com_connect => 0
com_process_kill => 0
com_debug => 0
com_ping => 0
com_time => 0
com_delayed_insert => 0
com_change_user => 0
com_binlog_dump => 0
com_table_dump => 0
com_connect_out => 0
com_register_slave => 0
com_stmt_prepare => 0
com_stmt_execute => 0
com_stmt_send_long_data => 0
com_stmt_close => 0
com_stmt_reset => 0
com_stmt_set_option => 0
com_stmt_fetch => 0
com_deamon => 0
bytes_received_real_data_normal => 0
bytes_received_real_data_ps => 0

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.2j  26 Sep 2016
OpenSSL Header Version => OpenSSL 1.0.2j  26 Sep 2016
Openssl default config => C:/xampp/apache/conf/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 8.38 2015-11-23
PCRE JIT Support => enabled

Directive => Local Value => Master Value
pcre.backtrack_limit => 1000000 => 1000000
pcre.jit => 1 => 1
pcre.recursion_limit => 100000 => 100000

PDO

PDO support => enabled
PDO drivers => mysql, sqlite

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $

pdo_sqlite

PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.14.2

Phar

Phar: PHP Archive support => enabled
Phar EXT version => 2.0.2
Phar API version => 1.1.1
SVN revision => $Id: 860f5132d446a7b24c2bbf050ce6949381ea8db5 $
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => enabled
OpenSSL support => enabled


Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

Reflection

Reflection => enabled
Version => $Id: b24f9c691ddba60f618ecf2ba7ae131a76cfc722 $

session

Session Support => enabled
Registered save handlers => files user 
Registered serializer handlers => php_serialize php php_binary wddx 

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => Off => Off
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_secure => Off => Off
session.entropy_file => no value => no value
session.entropy_length => 0 => 0
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 1 => 1
session.hash_bits_per_character => 5 => 5
session.hash_function => 0 => 0
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => C:\xampp\tmp => C:\xampp\tmp
session.serialize_handler => php => php
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => On => On
session.use_only_cookies => On => On
session.use_strict_mode => Off => Off
session.use_trans_sid => 0 => 0

SimpleXML

Simplexml support => enabled
Revision => $Id: a0c9e98a9e216920fcf75a02da085c9616b16cc8 $
Schema support => enabled

SPL

SPL support => enabled
Interfaces => Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

standard

Dynamic Library Support => enabled
Internal Sendmail Support for Windows => enabled

Directive => Local Value => Master Value
assert.active => 1 => 1
assert.bail => 0 => 0
assert.callback => no value => no value
assert.exception => 0 => 0
assert.quiet_eval => 0 => 0
assert.warning => 1 => 1
auto_detect_line_endings => 0 => 0
default_socket_timeout => 60 => 60
from => no value => no value
url_rewriter.tags => a=href,area=href,frame=src,input=src,form=fakeentry => a=href,area=href,frame=src,input=src,form=fakeentry
user_agent => no value => no value

tokenizer

Tokenizer Support => enabled

wddx

WDDX Support => enabled
WDDX Session Serializer => enabled

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.9.4

xmlreader

XMLReader => enabled

xmlwriter

XMLWriter => enabled

zip

Zip => enabled
Zip version => 1.13.5
Libzip version => 1.1.2

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.8
Linked Version => 1.2.8

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name

Environment

Variable => Value
ALLUSERSPROFILE => C:\ProgramData
APPDATA => C:\Users\Andreas\AppData\Roaming
CommonProgramFiles => C:\Program Files (x86)\Common Files
CommonProgramFiles(x86) => C:\Program Files (x86)\Common Files
CommonProgramW6432 => C:\Program Files\Common Files
ComputerDNSDomain => de-pa.spa.local
ComputerDomain => DE-PA
ComputerDomainDN => DC=de-pa,DC=spa,DC=local
COMPUTERNAME => WS-PA-0047
ComputerNameDN => CN=WS-PA-0047,OU=LocalAdmin,OU=Computer,OU=de-kt,OU=de-pa,DC=de-pa,DC=spa,DC=local
ComSpec => C:\Windows\system32\cmd.exe
DEFLOGDIR => C:\ProgramData\McAfee\DesktopProtection
FP_NO_HOST_CHECK => NO
HOMEDRIVE => C:
HOMEPATH => \Users\Andreas
LOCALAPPDATA => C:\Users\Andreas\AppData\Local
LOGONSERVER => \\WS-PA-0047
MIBDIRS => C:/xampp/php/extras/mibs
MYSQL_HOME => C:\xampp\mysql\bin
NUMBER_OF_PROCESSORS => 8
OPENSSL_CONF => C:/xampp/apache/conf/openssl.cnf
OS => Windows_NT
Path => ;C:\xampp\;C:\xampp\php;C:\xampp\perl\site\bin;C:\xampp\perl\bin;C:\xampp\apache\bin;C:\xampp\mysql\bin;C:\xampp\FileZillaFTP;C:\xampp\MercuryMail;C:\xampp\sendmail;C:\xampp\webalizer;C:\xampp\tomcat\bin;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\xampp\php;C:\ProgramData\ComposerSetup\bin;C:\Program Files\OpenVPN\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Skype\Phone\;C:\Users\Andreas\AppData\Roaming\Composer\vendor\bin;C:\Users\Andreas\AppData\Roaming\npm
PATHEXT => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PHPRC => C:\xampp\php
PHP_PEAR_BIN_DIR => C:\xampp\php
PHP_PEAR_CFG_DIR => C:\xampp\php\cfg
PHP_PEAR_DATA_DIR => C:\xampp\php\data
PHP_PEAR_DOC_DIR => C:\xampp\php\docs
PHP_PEAR_INSTALL_DIR => C:\xampp\php\pear
PHP_PEAR_PHP_BIN => C:\xampp\php\php.exe
PHP_PEAR_SYSCONF_DIR => C:\xampp\php
PHP_PEAR_TEST_DIR => C:\xampp\php\tests
PHP_PEAR_WWW_DIR => C:\xampp\php\www
PROCESSOR_ARCHITECTURE => x86
PROCESSOR_ARCHITEW6432 => AMD64
PROCESSOR_IDENTIFIER => Intel64 Family 6 Model 94 Stepping 3, GenuineIntel
PROCESSOR_LEVEL => 6
PROCESSOR_REVISION => 5e03
ProgramData => C:\ProgramData
ProgramFiles => C:\Program Files (x86)
ProgramFiles(x86) => C:\Program Files (x86)
ProgramW6432 => C:\Program Files
PROMPT => Andreas@WS-PA-0047$S$P$_#$S
PSModulePath => C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC => C:\Users\Public
SESSIONNAME => Console
SystemDrive => C:
SystemRoot => C:\Windows
TEMP => C:\Users\Andreas\AppData\Local\Temp
TMP => C:\xampp\tmp
TVT => C:\Program Files (x86)\Lenovo
USERDOMAIN => WS-PA-0047
USERNAME => Andreas
USERPROFILE => C:\Users\Andreas
VSEDEFLOGDIR => C:\ProgramData\McAfee\DesktopProtection
windir => C:\Windows

PHP Variables

Variable => Value
$_SERVER['ALLUSERSPROFILE'] => C:\ProgramData
$_SERVER['APPDATA'] => C:\Users\Andreas\AppData\Roaming
$_SERVER['CommonProgramFiles'] => C:\Program Files (x86)\Common Files
$_SERVER['CommonProgramFiles(x86)'] => C:\Program Files (x86)\Common Files
$_SERVER['CommonProgramW6432'] => C:\Program Files\Common Files
$_SERVER['ComputerDNSDomain'] => de-pa.spa.local
$_SERVER['ComputerDomain'] => DE-PA
$_SERVER['ComputerDomainDN'] => DC=de-pa,DC=spa,DC=local
$_SERVER['COMPUTERNAME'] => WS-PA-0047
$_SERVER['ComputerNameDN'] => CN=WS-PA-0047,OU=LocalAdmin,OU=Computer,OU=de-kt,OU=de-pa,DC=de-pa,DC=spa,DC=local
$_SERVER['ComSpec'] => C:\Windows\system32\cmd.exe
$_SERVER['DEFLOGDIR'] => C:\ProgramData\McAfee\DesktopProtection
$_SERVER['FP_NO_HOST_CHECK'] => NO
$_SERVER['HOMEDRIVE'] => C:
$_SERVER['HOMEPATH'] => \Users\Andreas
$_SERVER['LOCALAPPDATA'] => C:\Users\Andreas\AppData\Local
$_SERVER['LOGONSERVER'] => \\WS-PA-0047
$_SERVER['MIBDIRS'] => C:/xampp/php/extras/mibs
$_SERVER['MYSQL_HOME'] => C:\xampp\mysql\bin
$_SERVER['NUMBER_OF_PROCESSORS'] => 8
$_SERVER['OPENSSL_CONF'] => C:/xampp/apache/conf/openssl.cnf
$_SERVER['OS'] => Windows_NT
$_SERVER['Path'] => ;C:\xampp\;C:\xampp\php;C:\xampp\perl\site\bin;C:\xampp\perl\bin;C:\xampp\apache\bin;C:\xampp\mysql\bin;C:\xampp\FileZillaFTP;C:\xampp\MercuryMail;C:\xampp\sendmail;C:\xampp\webalizer;C:\xampp\tomcat\bin;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\xampp\php;C:\ProgramData\ComposerSetup\bin;C:\Program Files\OpenVPN\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Skype\Phone\;C:\Users\Andreas\AppData\Roaming\Composer\vendor\bin;C:\Users\Andreas\AppData\Roaming\npm
$_SERVER['PATHEXT'] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
$_SERVER['PHPRC'] => C:\xampp\php
$_SERVER['PHP_PEAR_BIN_DIR'] => C:\xampp\php
$_SERVER['PHP_PEAR_CFG_DIR'] => C:\xampp\php\cfg
$_SERVER['PHP_PEAR_DATA_DIR'] => C:\xampp\php\data
$_SERVER['PHP_PEAR_DOC_DIR'] => C:\xampp\php\docs
$_SERVER['PHP_PEAR_INSTALL_DIR'] => C:\xampp\php\pear
$_SERVER['PHP_PEAR_PHP_BIN'] => C:\xampp\php\php.exe
$_SERVER['PHP_PEAR_SYSCONF_DIR'] => C:\xampp\php
$_SERVER['PHP_PEAR_TEST_DIR'] => C:\xampp\php\tests
$_SERVER['PHP_PEAR_WWW_DIR'] => C:\xampp\php\www
$_SERVER['PROCESSOR_ARCHITECTURE'] => x86
$_SERVER['PROCESSOR_ARCHITEW6432'] => AMD64
$_SERVER['PROCESSOR_IDENTIFIER'] => Intel64 Family 6 Model 94 Stepping 3, GenuineIntel
$_SERVER['PROCESSOR_LEVEL'] => 6
$_SERVER['PROCESSOR_REVISION'] => 5e03
$_SERVER['ProgramData'] => C:\ProgramData
$_SERVER['ProgramFiles'] => C:\Program Files (x86)
$_SERVER['ProgramFiles(x86)'] => C:\Program Files (x86)
$_SERVER['ProgramW6432'] => C:\Program Files
$_SERVER['PROMPT'] => Andreas@WS-PA-0047$S$P$_#$S
$_SERVER['PSModulePath'] => C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
$_SERVER['PUBLIC'] => C:\Users\Public
$_SERVER['SESSIONNAME'] => Console
$_SERVER['SystemDrive'] => C:
$_SERVER['SystemRoot'] => C:\Windows
$_SERVER['TEMP'] => C:\Users\Andreas\AppData\Local\Temp
$_SERVER['TMP'] => C:\xampp\tmp
$_SERVER['TVT'] => C:\Program Files (x86)\Lenovo
$_SERVER['USERDOMAIN'] => WS-PA-0047
$_SERVER['USERNAME'] => Andreas
$_SERVER['USERPROFILE'] => C:\Users\Andreas
$_SERVER['VSEDEFLOGDIR'] => C:\ProgramData\McAfee\DesktopProtection
$_SERVER['windir'] => C:\Windows
$_SERVER['PHP_SELF'] => 
$_SERVER['SCRIPT_NAME'] => 
$_SERVER['SCRIPT_FILENAME'] => 
$_SERVER['PATH_TRANSLATED'] => 
$_SERVER['DOCUMENT_ROOT'] => 
$_SERVER['REQUEST_TIME_FLOAT'] => 1484041400.3354
$_SERVER['REQUEST_TIME'] => 1484041400
$_SERVER['argv'] => Array
(
)

$_SERVER['argc'] => 0

PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file:  LICENSE

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact license@php.net.

If you need mor information on apache (dev env) or the nginx (prod env) let me know.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @MCF on June 27, 2017 21:13

I've also seen this error occuring intermittently. Configuration is:

Windows 7 64 bit.
Apache 2.4.25 64 bit (VC14).
PHP 7.1.6 64 bit (VC14).
CakePHP 3.4.8.

This is a typical error message from the Apache error.log:

[Tue Jun 27 13:04:32.184161 2017] [php7:error] [pid 8380:tid 2800] [client ::1:11701] PHP Fatal error:  Class Cake\\Chronos\\Chronos contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (DateTimeInterface::__wakeup) in C:\\genesis\\vendor\\cakephp\\chronos\\src\\Chronos.php on line 50, referer: http://localhost/debug_kit/toolbar/a9d0102d-2e95-41b3-9fc0-3f87454119bb

In my case, once the error begins to occur it always occurs until Apache is restarted - at which point it goes away.

About the third time this occured I removed the implements ChronosInterface part from DateTimeImmutable's class declaration so it looked like this:

class Chronos extends DateTimeImmutable
{
    use Traits\ComparisonTrait;
    ...

Reloading the page then gave me a similar error - but this time in the browser and for chronos\src\Date.php (same error about the 1 abstract method). I adjusted the Date class, again removing the implements ChronosInterface so that it looked like this:

class Date extends DateTimeImmutable
{
    use Traits\ComparisonTrait;
    ...

Reloading the page then caused Apache to crash hard and restart with the following message in the log:

[Thu Jun 22 10:23:25.527324 2017] [mpm_winnt:notice] [pid 1768:tid 328] AH00428: Parent: child process 1308 exited with status 1 -- Restarting.

The problem then went away due to the restart.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

@MCF can you add the interface methods from DateTimeInterface to ChronosInterface? https://secure.php.net/manual/en/class.datetimeinterface.php

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @MCF on June 27, 2017 22:39

I had it back in the error state and added this to ChronosInterface:

interface ChronosInterface extends DateTimeInterface
{
    public function diff($object, $absolute = null);
    public function format($format);
    public function getOffset();
    public function getTimestamp();
    public function getTimezone();
    public function __wakeup();

    /**
     * The day constants
     */
    const MONDAY = 1;
    const TUESDAY = 2;
    ...

The error still occurred indefinitely. I restarted apache and, keeping the addtions to ChronosInterface listed above, the page loaded fine.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

@MCF keep the additions and report back if it happens again.

I wonder if there is some weird code around the removal of DateTimeInterface implementation that causes extending to fail under mod_php...

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @MCF on June 28, 2017 00:12

So far so good since the restart. I'll let it run for at least a week and see what happens. Thanks for your help @josegonzalez.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @MCF on June 28, 2017 00:55

Another, different error was just thrown. Still Chronos related though:

[Tue Jun 27 17:50:20.428723 2017] [php7:error] [pid 12924:tid 2808] [client ::1:37639] PHP Fatal error:  Uncaught Error: Call to undefined method DateTimeImmutable::modify() in C:\\genesis\\vendor\\cakephp\\chronos\\src\\Chronos.php:146\nStack trace:\n#0 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\Database\\Type\\DateTimeType.php(139): Cake\\Chronos\\Chronos->modify('2017-06-28 00:4...')\n#1 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\Database\\FieldTypeConverter.php(78): Cake\\Database\\Type\\DateTimeType->toPHP('2017-06-28 00:4...', Object(Cake\\Database\\Driver\\Sqlite))\n#2 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\Database\\Statement\\CallbackStatement.php(59): Cake\\Database\\FieldTypeConverter->__invoke(Array)\n#3 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\ORM\\ResultSet.php(484): Cake\\Database\\Statement\\CallbackStatement->fetch('assoc')\n#4 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\ORM\\ResultSet.php(276): Cake\\ORM\\ResultSet->_fetchResult()\n#5 [internal function]: Cake\\ORM\\ResultSet->valid()\n#6 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\Collection\\CollectionTrait.php(469): iterator_to_array(Object(Cake\\ORM\\ResultSet), true)\n#7 C:\\genesis\\vendor\\cakephp\\cakephp\\s in C:\\genesis\\vendor\\cakephp\\chronos\\src\\Chronos.php on line 146, referer: http://localhost/materials/index/eyJzZWFyY2giOiIxMjMiLCJkYXRhIjp7InNlYXJjaCI6IjEyMyJ9fQ%3D%3D?sort=Materials.description&direction=desc
[Tue Jun 27 17:50:29.344615 2017] [php7:error] [pid 12924:tid 2808] [client ::1:37652] PHP Fatal error:  Uncaught Error: Call to undefined method DateTimeImmutable::modify() in C:\\genesis\\vendor\\cakephp\\chronos\\src\\Chronos.php:146\nStack trace:\n#0 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\Database\\Type\\DateTimeType.php(139): Cake\\Chronos\\Chronos->modify('2017-06-28 00:4...')\n#1 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\Database\\FieldTypeConverter.php(78): Cake\\Database\\Type\\DateTimeType->toPHP('2017-06-28 00:4...', Object(Cake\\Database\\Driver\\Sqlite))\n#2 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\Database\\Statement\\CallbackStatement.php(59): Cake\\Database\\FieldTypeConverter->__invoke(Array)\n#3 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\ORM\\ResultSet.php(484): Cake\\Database\\Statement\\CallbackStatement->fetch('assoc')\n#4 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\ORM\\ResultSet.php(276): Cake\\ORM\\ResultSet->_fetchResult()\n#5 [internal function]: Cake\\ORM\\ResultSet->valid()\n#6 C:\\genesis\\vendor\\cakephp\\cakephp\\src\\Collection\\CollectionTrait.php(469): iterator_to_array(Object(Cake\\ORM\\ResultSet), true)\n#7 C:\\genesis\\vendor\\cakephp\\cakephp\\s in C:\\genesis\\vendor\\cakephp\\chronos\\src\\Chronos.php on line 146

As usual restarting Apache fixed the problem.

This is the line it claims to have died on (although the heap corruption makes me suspicious of all of this):

    /**
     * Overloading original modify method to handling modification with DST change
     *
     * For example, i have the date 2014-03-30 00:00:00 in Europe/London (new Carbon('2014-03-30 00:00:00,
     *   'Europe/London')), then if i want to increase date by 1 day, i expect 2014-03-31 00:00:00, but if want to
     *   increase date by 24 hours, then i expect 2014-03-31 01:00:00, because in this timezone there will be that time
     *   after 24 hours (timezone offset changes because of Daylight correction). The same for minutes and seconds.
     *
     * @param string $modify argument for php DateTime::modify method
     *
     * @return static
     */
    public function modify($modify)
    {
        if (!preg_match('/(sec|second|min|minute|hour)s?/i', $modify)) {
            return parent::modify($modify);     // ** Line 146
        }

        $timezone = $this->getTimezone();

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

From @MCF on June 28, 2017 01:04

There was also another zend_mm_heap corrupted crash+restart a little earlier. But there was no other message in the log with that one. More than likely the same problem would be my guess.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

Just a thought, one other commonality here is PHP 7, either 7.0 or 7.1. What other changes in PHP 7.x were introduced related to datetimes, and does this replicate with PHP 5.6?

@szel

This comment has been minimized.

Copy link

@szel szel commented Jun 28, 2017

This definitely sounds like a mod_apache bug. I'm not familiar with how it's implemented, anyone know of any differences in how it works compared to php-fastcgi or php-fpm?

@josegonzalez - for development purposes I'm using suphp (this is apache mod that checks uid/gid of the script being executed and then runs cgi/bin with user permissions).

I can confirm that this is not mod_apache bug.

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

Okay so still Apache. Does anyone have an example repro of this with nginx so I can toss that theory out?

@szel

This comment has been minimized.

Copy link

@szel szel commented Jun 28, 2017

@josegonzalez it doesn't feel like apache bug and let me explain why.

Scenario 1 - mod_php for apache
This mod keeps running processes (workers) for PHP while apache is up (with www server permissions). When HTTP request comes - apache is using those processes to handle PHP requests. When bug happens - it corrupts their internal state (probably crashes something) and when you hit this currupted process - your HTTP request won't be fulfilled. Then - if you restart apache - your processes are working fine until this bug happens again.

Scenario 2 - suphp for apache (my scenario)
This mod is stateless (it doesn't keep anything running when there are no requests). This mod is just enhanced version of cgi/bin for PHP. When HTTP request comes - suphp checks who is the owner of the script and then runs php-cgi with user permissions. When HTTP request is complete - process dies. It happens the same way with each request. Now when this bug happens - in my case - it happens on per request basis. For some requests it happens, for some it does not.

To me it looks like somehow Chronos triggers something wrong with internal PHP implementation (perhaps the DateTimeInterface extension that is marked by PHP being erroneous) because this is one thing common for this bug (I'm surprised that people on Windows are seeing this too).

@josegonzalez

This comment has been minimized.

Copy link
Member Author

@josegonzalez josegonzalez commented Jun 28, 2017

Maybe but I'm running quite a few cake apps under nginx and this issue just doesn't crop up. Makes me think something about the link is broken.

Against, would be curious if this can be replicated in 5.6, since if so it would be related to the aforementioned "implements" issue.

@szel

This comment has been minimized.

Copy link

@szel szel commented Jun 28, 2017

For me - this bug happened in 2016 when I was testing PHP 7 and new CakePHP 3. I can't remember how this ended but I downgraded to PHP 5.6 and forgot about this issue.

I'm using Debian 8 (Jessie) for the moment - PHP 5.6.30 is there as default php5 package.

@szel

This comment has been minimized.

Copy link

@szel szel commented Jun 28, 2017

@josegonzalez out of curiosity - which PHP version are you using with nginx?

@MCF

This comment has been minimized.

Copy link

@MCF MCF commented Jun 28, 2017

I spent the afternoon chasing this bug around and didn't really read the documentation closely. But I'm reviewing now and noticed this line from the DateTimeInterface docs:

DateTimeInterface is meant so that both DateTime and DateTimeImmutable can be type hinted for. It is not possible to implement this interface with userland classes.

What am I missing? Why is Chronos extending the interface if the above is true?

Coincidentally I was planning on getting rid of the extends part of the definition in my next round of tests. Turning this:

/**
 * An extension to the DateTimeInterface for a friendlier API
 */
interface ChronosInterface extends DateTimeInterface
{

into this:

/**
 * An extension to the DateTimeInterface for a friendlier API
 */
interface ChronosInterface
{

I'll see how that goes tomorrow.

@szel

This comment has been minimized.

Copy link

@szel szel commented Jun 28, 2017

@MCF because concrete classes extend from DateTime and DateTimeImmutable, thus not requiring to force fatal error (PHP sees those classes as their "own").

I've added this warning from PHP manual because it leads to another question - if implementing DateTimeInterface is erroneous, is extending DateTime classes safe (hint to this weird bug)?

@MCF

This comment has been minimized.

Copy link

@MCF MCF commented Jun 28, 2017

I guess my question was more along the lines of "why are we doing this if the documentation says not to do it?"

Good point about the classes being extended. If removing the extends DateTimeInterface does not work I'll look into getting rid of the extends DateTime.

@lorenzo

This comment has been minimized.

Copy link
Member

@lorenzo lorenzo commented Jun 28, 2017

@MCF The restriction was added after Chronos was implemented. It does throw an error when adding the interface to a concrete class instead of to an interface.

@MCF

This comment has been minimized.

Copy link

@MCF MCF commented Jun 28, 2017

Thanks @lorenzo that makes sense.

I've removed the extends DateTimeInterface from the ChronosInterface and tested it. I get periodic Apache crashes. 2 with zend_mm_heap corrupted in the log and 2 with nothing in the log. In all cases I'm not seeing any other information (e.g. Chronos related error messages). The fact that the only changes I'm making is to Chronos makes me feel fairly sure that this is still the same problem though.

In terms of next steps, the only other thing I can think of is to stop extending DateTime and DateTimeImmutable in Chronos/Data/MutableDateTime/MutableDate and instead store a reference to the appropriate DateTime/DateTimeImmutable object - adding wrapper functions for their functions and changing references to this as appropriate. Not a small change though - and it feels a bit desperate. Any thoughts from others? Perhaps I should think about logging a bug report with the PHP project.

Clearly a lot of work went into Chronos. I'm surprised about this bug. Perhaps it is a PHP weirdness that is Windows specific? Presumably most people are running CakePHP apps on *nix OSes.

@lorenzo

This comment has been minimized.

Copy link
Member

@lorenzo lorenzo commented Jun 28, 2017

It is definitely a PHP bug, I have no doubts about it. The only thing we know is common to all people having this issue is apache, so my guess is that it has to do with not properly cleaned up shared memory. Maybe try to disable the i-cache extension if you have it enabled and test again? (that's going to cause your page to load slower, though)

@MCF can you also open a ticket in the PHP main issue tracker? I think we should let them know that this can happen.

@MCF

This comment has been minimized.

Copy link

@MCF MCF commented Jun 29, 2017

I ran the built in web server for a day (i.e. bin/cake server) and did not see the problem. I then connected Visual Studio debugger to the Apache process and ran for 3 or 4 hours. Again the problem did not occur with the debugger connected.

Once I stopped visual studio the problem reappeared as usual

@MCF

This comment has been minimized.

Copy link

@MCF MCF commented Jun 29, 2017

I've logged an issue with PHP:

https://bugs.php.net/bug.php?id=74833

@MCF

This comment has been minimized.

Copy link

@MCF MCF commented Jun 30, 2017

FWIW this is the PHP pull request that implemented the exception on user land classes implementing the DateTimeInterface:

php/php-src#512

(edit - I'm quite sure that the DateTimeInterface limitation has nothing to do with this issue)

@MCF MCF mentioned this issue Jul 11, 2017
@MCF

This comment has been minimized.

Copy link

@MCF MCF commented Jul 12, 2017

The underlying issue causing this Chronos bug is a PHP memory corruption bug. That bug is present in PHP 7.0 and 7.1 (but not 5.6). There is no real workaround. Although using FCGI might cut down on how often it occurs.

The memory corruption bug seems to have been fixed in 7.2 for the most part. I've seen one crash in a week of testing, and that was with the alpha2 release. Also the crash "looked" a little different than the other ones and was not obviously linked to Chronos (so it could be some other unrelated issue).

I would leave this issue open for now and continue to monitor it while PHP 7.2 is released. See if the problem has really gone away once that version is being used widely.

My current recommendation for anyone who runs into this bug would be to stick with PHP 5.6 for now.

Please see the PHP issue I linked above for more information.

@MCF

This comment has been minimized.

Copy link

@MCF MCF commented Sep 5, 2017

Just a final follow up on this bug. As far as I can tell the underlying issue has been fixed in PHP 7.2. I have not had any crashes in weeks running the final beta releases, and now the first release candidate. The crash I mentioned in my previous note was an entirely different PHP issue, unrelated to Chronos. FWIW that second issue has also been fixed as of the last 7.2 beta release.

I've not had any other problems running PHP7.2 over the last month. It seems very stable.

Upgrading to 7.2 is fine for my purposes. I'm running the release candidates already. The final release will come out in about 3 months.

If others feel that backporting the PHP fixes to 7.0 or 7.1 is important I would encourage you to persue it with the PHP team. I have no idea if they are considering that as an option or not, or if it is even feasable to do so.

@lorenzo

This comment has been minimized.

Copy link
Member

@lorenzo lorenzo commented Feb 11, 2018

Closing as PHP 7.2 is out and the bug was reported to have been fixed there.

@lorenzo lorenzo closed this Feb 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.