YOURLS / containers

📦 Container Images for YOURLS
https://yourls.org
MIT License
138 stars 42 forks source link

White screen with 1.8 using docker #65

Closed Niduroki closed 3 years ago

Niduroki commented 3 years ago

Describe the bug White screen with 1.8 using docker.

To Reproduce 1) docker-compose file:

version: '3.1'

services:

  yourls:
    image: yourls:1.8
    restart: always
    ports:
      - 8080:80
    environment:
      YOURLS_DB_PASS: example
      YOURLS_SITE: http://127.0.0.1:8080
      YOURLS_USER: user
      YOURLS_PASS: pass
      YOURLS_DEBUG: "true"

  mysql:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

2) docker-compose -f docker-compose.yml up 3) Go to http://127.0.0.1:8080/admin, click install, click "YOURLS Administration Page" 4) White screen. Even the debug setting doesn't give any output. 5) Clear cookies, log in again: White screen.

Versions Docker Image 1.8-apache

$ docker system info
…
 Server Version: 20.10.3
…
 Kernel Version: 5.10.16-arch1-1
 Operating System: Arch Linux
…

Same problem also appears to happen on my server:

$ docker system info
…
 Server Version: 19.03.13
…
 Kernel Version: 5.10.16-200.fc33.x86_64
 Operating System: Fedora 33 (Thirty Three)
…

Additional context It's something to do with the authentication. If you add YOURLS_PRIVATE: "false" to the yourls environment variables everything works as expected (without password-protection, that is).


Is this maybe a docker problem to report over at https://github.com/YOURLS/docker-yourls ?

paradeiser commented 3 years ago

+1

ozh commented 3 years ago

Yes unless @LeoColomb says otherwise I think this should go to YOURLS/docker-yourls

LeoColomb commented 3 years ago

I confirm the issue, but not sure it's really related to Docker though.

The HTTP answer does not contain body, headers seem to be fine (cookies set):

HTTP/1.1 200 OK
Date: Wed, 24 Feb 2021 01:07:59 GMT
Server: Apache/2.4.38 (Debian)
X-Powered-By: PHP/8.0.2
Set-Cookie: yourls_8067cb0a05586cfc4567539da63ded94=a0bd396d5dead373021ffcfe260e25e0; expires=Wed, 03-Mar-2021 01:07:59 GMT; Max-Age=604800; path=/; domain=ip172-18-0-92-c0qq2v1bqvp0008tb240-8080.direct.labs.play-with-docker.com; HttpOnly; SameSite=Lax
Content-Length: 0
Keep-Alive: timeout=5, max=93
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
LeoColomb commented 3 years ago
Dump of variables & constants ```php /var/www/html/user/config.php:103: array (size=12) '_GET' => array (size=1) 'sdfgsdfg' => string '' (length=0) '_POST' => array (size=0) empty '_COOKIE' => array (size=1) 'yourls_8067cb0a05586cfc4567539da63ded94' => string 'a0bd396d5dead373021ffcfe260e25e0' (length=32) '_FILES' => array (size=0) empty '_ENV' => array (size=0) empty '_REQUEST' => array (size=1) 'sdfgsdfg' => string '' (length=0) '_SERVER' => array (size=35) 'HTTP_HOST' => string 'ip172-18-0-92-c0qq2v1bqvp0008tb240-8080.direct.labs.play-with-docker.com' (length=72) 'HTTP_USER_AGENT' => string 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36' (length=115) 'HTTP_ACCEPT' => string 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' (length=135) 'HTTP_ACCEPT_ENCODING' => string 'gzip, deflate' (length=13) 'HTTP_ACCEPT_LANGUAGE' => string 'fr,fr-FR;q=0.9,en-US;q=0.8,en;q=0.7' (length=35) 'HTTP_CACHE_CONTROL' => string 'no-cache' (length=8) 'HTTP_CONNECTION' => string 'keep-alive' (length=10) 'HTTP_COOKIE' => string 'yourls_8067cb0a05586cfc4567539da63ded94=a0bd396d5dead373021ffcfe260e25e0' (length=72) 'HTTP_DNT' => string '1' (length=1) 'HTTP_PRAGMA' => string 'no-cache' (length=8) 'HTTP_SEC_GPC' => string '1' (length=1) 'HTTP_UPGRADE_INSECURE_REQUESTS' => string '1' (length=1) 'PATH' => string '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' (length=60) 'SERVER_SIGNATURE' => string '
Apache/2.4.38 (Debian) Server at ip172-18-0-92-c0qq2v1bqvp0008tb240-8080.direct.labs.play-with-docker.com Port 80
' (length=133) 'SERVER_SOFTWARE' => string 'Apache/2.4.38 (Debian)' (length=22) 'SERVER_NAME' => string 'ip172-18-0-92-c0qq2v1bqvp0008tb240-8080.direct.labs.play-with-docker.com' (length=72) 'SERVER_ADDR' => string '172.19.0.3' (length=10) 'SERVER_PORT' => string '80' (length=2) 'REMOTE_ADDR' => string '172.18.0.1' (length=10) 'DOCUMENT_ROOT' => string '/var/www/html' (length=13) 'REQUEST_SCHEME' => string 'http' (length=4) 'CONTEXT_PREFIX' => string '' (length=0) 'CONTEXT_DOCUMENT_ROOT' => string '/var/www/html' (length=13) 'SERVER_ADMIN' => string 'webmaster@localhost' (length=19) 'SCRIPT_FILENAME' => string '/var/www/html/admin/index.php' (length=29) 'REMOTE_PORT' => string '52296' (length=5) 'GATEWAY_INTERFACE' => string 'CGI/1.1' (length=7) 'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8) 'REQUEST_METHOD' => string 'GET' (length=3) 'QUERY_STRING' => string 'sdfgsdfg' (length=8) 'REQUEST_URI' => string '/admin/index.php?sdfgsdfg' (length=25) 'SCRIPT_NAME' => string '/admin/index.php' (length=16) 'PHP_SELF' => string '/admin/index.php' (length=16) 'REQUEST_TIME_FLOAT' => float 1614130033.3765 'REQUEST_TIME' => int 1614130033 'config' => object(YOURLS\Config\Config)[3] protected 'root' => string '/var/www/html' (length=13) protected 'config' => boolean false 'GLOBALS' => array (size=62) '_GET' => array (size=1) 'sdfgsdfg' => string '' (length=0) '_POST' => array (size=0) empty '_COOKIE' => array (size=1) 'yourls_8067cb0a05586cfc4567539da63ded94' => string 'a0bd396d5dead373021ffcfe260e25e0' (length=32) '_FILES' => array (size=0) empty '_ENV' => array (size=0) empty '_REQUEST' => array (size=1) 'sdfgsdfg' => string '' (length=0) '_SERVER' => array (size=35) 'HTTP_HOST' => string 'ip172-18-0-92-c0qq2v1bqvp0008tb240-8080.direct.labs.play-with-docker.com' (length=72) 'HTTP_USER_AGENT' => string 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36' (length=115) 'HTTP_ACCEPT' => string 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' (length=135) 'HTTP_ACCEPT_ENCODING' => string 'gzip, deflate' (length=13) 'HTTP_ACCEPT_LANGUAGE' => string 'fr,fr-FR;q=0.9,en-US;q=0.8,en;q=0.7' (length=35) 'HTTP_CACHE_CONTROL' => string 'no-cache' (length=8) 'HTTP_CONNECTION' => string 'keep-alive' (length=10) 'HTTP_COOKIE' => string 'yourls_8067cb0a05586cfc4567539da63ded94=a0bd396d5dead373021ffcfe260e25e0' (length=72) 'HTTP_DNT' => string '1' (length=1) 'HTTP_PRAGMA' => string 'no-cache' (length=8) 'HTTP_SEC_GPC' => string '1' (length=1) 'HTTP_UPGRADE_INSECURE_REQUESTS' => string '1' (length=1) 'PATH' => string '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' (length=60) 'SERVER_SIGNATURE' => string '
Apache/2.4.38 (Debian) Server at ip172-18-0-92-c0qq2v1bqvp0008tb240-8080.direct.labs.play-with-docker.com Port 80
' (length=133) 'SERVER_SOFTWARE' => string 'Apache/2.4.38 (Debian)' (length=22) 'SERVER_NAME' => string 'ip172-18-0-92-c0qq2v1bqvp0008tb240-8080.direct.labs.play-with-docker.com' (length=72) 'SERVER_ADDR' => string '172.19.0.3' (length=10) 'SERVER_PORT' => string '80' (length=2) 'REMOTE_ADDR' => string '172.18.0.1' (length=10) 'DOCUMENT_ROOT' => string '/var/www/html' (length=13) 'REQUEST_SCHEME' => string 'http' (length=4) 'CONTEXT_PREFIX' => string '' (length=0) 'CONTEXT_DOCUMENT_ROOT' => string '/var/www/html' (length=13) 'SERVER_ADMIN' => string 'webmaster@localhost' (length=19) 'SCRIPT_FILENAME' => string '/var/www/html/admin/index.php' (length=29) 'REMOTE_PORT' => string '52296' (length=5) 'GATEWAY_INTERFACE' => string 'CGI/1.1' (length=7) 'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8) 'REQUEST_METHOD' => string 'GET' (length=3) 'QUERY_STRING' => string 'sdfgsdfg' (length=8) 'REQUEST_URI' => string '/admin/index.php?sdfgsdfg' (length=25) 'SCRIPT_NAME' => string '/admin/index.php' (length=16) 'PHP_SELF' => string '/admin/index.php' (length=16) 'REQUEST_TIME_FLOAT' => float 1614130033.3765 'REQUEST_TIME' => int 1614130033 'config' => object(YOURLS\Config\Config)[3] protected 'root' => string '/var/www/html' (length=13) protected 'config' => boolean false 'GLOBALS' => &array '__composer_autoload_files' => array (size=5) 'e69f7f6ee287b969198c3c9d6777bd38' => boolean true '25072dd6e2470089de65ae7bf11d3109' => boolean true 'b45b351e6b6f7487d819961fef2fda77' => boolean true 'f598d06aa772fa33d905e87be6398fb1' => boolean true '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => boolean true 'yourls_user_passwords' => array (size=1) 'example_username' => string 'example_password' (length=16) 'yourls_reserved_URL' => array (size=7) 0 => string 'porn' (length=4) 1 => string 'faggot' (length=6) 2 => string 'sex' (length=3) 3 => string 'nigger' (length=6) 4 => string 'fuck' (length=4) 5 => string 'cunt' (length=4) 6 => string 'dick' (length=4) '__composer_autoload_files' => array (size=5) 'e69f7f6ee287b969198c3c9d6777bd38' => boolean true '25072dd6e2470089de65ae7bf11d3109' => boolean true 'b45b351e6b6f7487d819961fef2fda77' => boolean true 'f598d06aa772fa33d905e87be6398fb1' => boolean true '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => boolean true 'yourls_user_passwords' => array (size=1) 'example_username' => string 'example_password' (length=16) 'yourls_reserved_URL' => array (size=7) 0 => string 'porn' (length=4) 1 => string 'faggot' (length=6) 2 => string 'sex' (length=3) 3 => string 'nigger' (length=6) 4 => string 'fuck' (length=4) 5 => string 'cunt' (length=4) 6 => string 'dick' (length=4) /var/www/html/user/config.php:104: array (size=25) 'Core' => array (size=80) 'E_ERROR' => int 1 'E_RECOVERABLE_ERROR' => int 4096 'E_WARNING' => int 2 'E_PARSE' => int 4 'E_NOTICE' => int 8 'E_STRICT' => int 2048 'E_DEPRECATED' => int 8192 'E_CORE_ERROR' => int 16 'E_CORE_WARNING' => int 32 'E_COMPILE_ERROR' => int 64 'E_COMPILE_WARNING' => int 128 'E_USER_ERROR' => int 256 'E_USER_WARNING' => int 512 'E_USER_NOTICE' => int 1024 'E_USER_DEPRECATED' => int 16384 'E_ALL' => int 32767 'DEBUG_BACKTRACE_PROVIDE_OBJECT' => int 1 'DEBUG_BACKTRACE_IGNORE_ARGS' => int 2 'ZEND_THREAD_SAFE' => boolean false 'ZEND_DEBUG_BUILD' => boolean false 'TRUE' => boolean true 'FALSE' => boolean false 'NULL' => null 'PHP_VERSION' => string '8.0.2' (length=5) 'PHP_MAJOR_VERSION' => int 8 'PHP_MINOR_VERSION' => int 0 'PHP_RELEASE_VERSION' => int 2 'PHP_EXTRA_VERSION' => string '' (length=0) 'PHP_VERSION_ID' => int 80002 'PHP_ZTS' => int 0 'PHP_DEBUG' => int 0 'PHP_OS' => string 'Linux' (length=5) 'PHP_OS_FAMILY' => string 'Linux' (length=5) 'PHP_SAPI' => string 'apache2handler' (length=14) 'DEFAULT_INCLUDE_PATH' => string '.:/usr/local/lib/php' (length=20) 'PEAR_INSTALL_DIR' => string '/usr/local/lib/php' (length=18) 'PEAR_EXTENSION_DIR' => string '/usr/local/lib/php/extensions/no-debug-non-zts-20200930' (length=55) 'PHP_EXTENSION_DIR' => string '/usr/local/lib/php/extensions/no-debug-non-zts-20200930' (length=55) 'PHP_PREFIX' => string '/usr/local' (length=10) 'PHP_BINDIR' => string '/usr/local/bin' (length=14) 'PHP_MANDIR' => string '/usr/local/php/man' (length=18) 'PHP_LIBDIR' => string '/usr/local/lib/php' (length=18) 'PHP_DATADIR' => string '/usr/local/share/php' (length=20) 'PHP_SYSCONFDIR' => string '/usr/local/etc' (length=14) 'PHP_LOCALSTATEDIR' => string '/usr/local/var' (length=14) 'PHP_CONFIG_FILE_PATH' => string '/usr/local/etc/php' (length=18) 'PHP_CONFIG_FILE_SCAN_DIR' => string '/usr/local/etc/php/conf.d' (length=25) 'PHP_SHLIB_SUFFIX' => string 'so' (length=2) 'PHP_EOL' => string ' ' (length=1) 'PHP_MAXPATHLEN' => int 4096 'PHP_INT_MAX' => int 9223372036854775807 'PHP_INT_MIN' => int -9223372036854775808 'PHP_INT_SIZE' => int 8 'PHP_FD_SETSIZE' => int 1024 'PHP_FLOAT_DIG' => int 15 'PHP_FLOAT_EPSILON' => float 2.2204460492503E-16 'PHP_FLOAT_MAX' => float 1.7976931348623E+308 'PHP_FLOAT_MIN' => float 2.2250738585072E-308 'PHP_BINARY' => string '' (length=0) 'PHP_OUTPUT_HANDLER_START' => int 1 'PHP_OUTPUT_HANDLER_WRITE' => int 0 'PHP_OUTPUT_HANDLER_FLUSH' => int 4 'PHP_OUTPUT_HANDLER_CLEAN' => int 2 'PHP_OUTPUT_HANDLER_FINAL' => int 8 'PHP_OUTPUT_HANDLER_CONT' => int 0 'PHP_OUTPUT_HANDLER_END' => int 8 'PHP_OUTPUT_HANDLER_CLEANABLE' => int 16 'PHP_OUTPUT_HANDLER_FLUSHABLE' => int 32 'PHP_OUTPUT_HANDLER_REMOVABLE' => int 64 'PHP_OUTPUT_HANDLER_STDFLAGS' => int 112 'PHP_OUTPUT_HANDLER_STARTED' => int 4096 'PHP_OUTPUT_HANDLER_DISABLED' => int 8192 'UPLOAD_ERR_OK' => int 0 'UPLOAD_ERR_INI_SIZE' => int 1 'UPLOAD_ERR_FORM_SIZE' => int 2 'UPLOAD_ERR_PARTIAL' => int 3 'UPLOAD_ERR_NO_FILE' => int 4 'UPLOAD_ERR_NO_TMP_DIR' => int 6 'UPLOAD_ERR_CANT_WRITE' => int 7 'UPLOAD_ERR_EXTENSION' => int 8 'date' => array (size=16) 'DATE_ATOM' => string 'Y-m-d\TH:i:sP' (length=13) 'DATE_COOKIE' => string 'l, d-M-Y H:i:s T' (length=16) 'DATE_ISO8601' => string 'Y-m-d\TH:i:sO' (length=13) 'DATE_RFC822' => string 'D, d M y H:i:s O' (length=16) 'DATE_RFC850' => string 'l, d-M-y H:i:s T' (length=16) 'DATE_RFC1036' => string 'D, d M y H:i:s O' (length=16) 'DATE_RFC1123' => string 'D, d M Y H:i:s O' (length=16) 'DATE_RFC7231' => string 'D, d M Y H:i:s \G\M\T' (length=21) 'DATE_RFC2822' => string 'D, d M Y H:i:s O' (length=16) 'DATE_RFC3339' => string 'Y-m-d\TH:i:sP' (length=13) 'DATE_RFC3339_EXTENDED' => string 'Y-m-d\TH:i:s.vP' (length=15) 'DATE_RSS' => string 'D, d M Y H:i:s O' (length=16) 'DATE_W3C' => string 'Y-m-d\TH:i:sP' (length=13) 'SUNFUNCS_RET_TIMESTAMP' => int 0 'SUNFUNCS_RET_STRING' => int 1 'SUNFUNCS_RET_DOUBLE' => int 2 'libxml' => array (size=27) 'LIBXML_VERSION' => int 20904 'LIBXML_DOTTED_VERSION' => string '2.9.4' (length=5) 'LIBXML_LOADED_VERSION' => string '20904' (length=5) 'LIBXML_NOENT' => int 2 'LIBXML_DTDLOAD' => int 4 'LIBXML_DTDATTR' => int 8 'LIBXML_DTDVALID' => int 16 'LIBXML_NOERROR' => int 32 'LIBXML_NOWARNING' => int 64 'LIBXML_NOBLANKS' => int 256 'LIBXML_XINCLUDE' => int 1024 'LIBXML_NSCLEAN' => int 8192 'LIBXML_NOCDATA' => int 16384 'LIBXML_NONET' => int 2048 'LIBXML_PEDANTIC' => int 128 'LIBXML_COMPACT' => int 65536 'LIBXML_NOXMLDECL' => int 2 'LIBXML_PARSEHUGE' => int 524288 'LIBXML_BIGLINES' => int 4194304 'LIBXML_NOEMPTYTAG' => int 4 'LIBXML_SCHEMA_CREATE' => int 1 'LIBXML_HTML_NOIMPLIED' => int 8192 'LIBXML_HTML_NODEFDTD' => int 4 'LIBXML_ERR_NONE' => int 0 'LIBXML_ERR_WARNING' => int 1 'LIBXML_ERR_ERROR' => int 2 'LIBXML_ERR_FATAL' => int 3 'openssl' => array (size=58) 'OPENSSL_VERSION_TEXT' => string 'OpenSSL 1.1.1d 10 Sep 2019' (length=27) 'OPENSSL_VERSION_NUMBER' => int 269488207 'X509_PURPOSE_SSL_CLIENT' => int 1 'X509_PURPOSE_SSL_SERVER' => int 2 'X509_PURPOSE_NS_SSL_SERVER' => int 3 'X509_PURPOSE_SMIME_SIGN' => int 4 'X509_PURPOSE_SMIME_ENCRYPT' => int 5 'X509_PURPOSE_CRL_SIGN' => int 6 'X509_PURPOSE_ANY' => int 7 'OPENSSL_ALGO_SHA1' => int 1 'OPENSSL_ALGO_MD5' => int 2 'OPENSSL_ALGO_MD4' => int 3 'OPENSSL_ALGO_SHA224' => int 6 'OPENSSL_ALGO_SHA256' => int 7 'OPENSSL_ALGO_SHA384' => int 8 'OPENSSL_ALGO_SHA512' => int 9 'OPENSSL_ALGO_RMD160' => int 10 'PKCS7_DETACHED' => int 64 'PKCS7_TEXT' => int 1 'PKCS7_NOINTERN' => int 16 'PKCS7_NOVERIFY' => int 32 'PKCS7_NOCHAIN' => int 8 'PKCS7_NOCERTS' => int 2 'PKCS7_NOATTR' => int 256 'PKCS7_BINARY' => int 128 'PKCS7_NOSIGS' => int 4 'OPENSSL_CMS_DETACHED' => int 64 'OPENSSL_CMS_TEXT' => int 1 'OPENSSL_CMS_NOINTERN' => int 16 'OPENSSL_CMS_NOVERIFY' => int 32 'OPENSSL_CMS_NOCERTS' => int 2 'OPENSSL_CMS_NOATTR' => int 256 'OPENSSL_CMS_BINARY' => int 128 'OPENSSL_CMS_NOSIGS' => int 12 'OPENSSL_PKCS1_PADDING' => int 1 'OPENSSL_SSLV23_PADDING' => int 2 'OPENSSL_NO_PADDING' => int 3 'OPENSSL_PKCS1_OAEP_PADDING' => int 4 'OPENSSL_DEFAULT_STREAM_CIPHERS' => string 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES'... (length=594) 'OPENSSL_CIPHER_RC2_40' => int 0 'OPENSSL_CIPHER_RC2_128' => int 1 'OPENSSL_CIPHER_RC2_64' => int 2 'OPENSSL_CIPHER_DES' => int 3 'OPENSSL_CIPHER_3DES' => int 4 'OPENSSL_CIPHER_AES_128_CBC' => int 5 'OPENSSL_CIPHER_AES_192_CBC' => int 6 'OPENSSL_CIPHER_AES_256_CBC' => int 7 'OPENSSL_KEYTYPE_RSA' => int 0 'OPENSSL_KEYTYPE_DSA' => int 1 'OPENSSL_KEYTYPE_DH' => int 2 'OPENSSL_KEYTYPE_EC' => int 3 'OPENSSL_RAW_DATA' => int 1 'OPENSSL_ZERO_PADDING' => int 2 'OPENSSL_DONT_ZERO_PAD_KEY' => int 4 'OPENSSL_TLSEXT_SERVER_NAME' => int 1 'OPENSSL_ENCODING_DER' => int 0 'OPENSSL_ENCODING_SMIME' => int 1 'OPENSSL_ENCODING_PEM' => int 2 'pcre' => array (size=19) 'PREG_PATTERN_ORDER' => int 1 'PREG_SET_ORDER' => int 2 'PREG_OFFSET_CAPTURE' => int 256 'PREG_UNMATCHED_AS_NULL' => int 512 'PREG_SPLIT_NO_EMPTY' => int 1 'PREG_SPLIT_DELIM_CAPTURE' => int 2 'PREG_SPLIT_OFFSET_CAPTURE' => int 4 'PREG_GREP_INVERT' => int 1 'PREG_NO_ERROR' => int 0 'PREG_INTERNAL_ERROR' => int 1 'PREG_BACKTRACK_LIMIT_ERROR' => int 2 'PREG_RECURSION_LIMIT_ERROR' => int 3 'PREG_BAD_UTF8_ERROR' => int 4 'PREG_BAD_UTF8_OFFSET_ERROR' => int 5 'PREG_JIT_STACKLIMIT_ERROR' => int 6 'PCRE_VERSION' => string '10.35 2020-05-09' (length=16) 'PCRE_VERSION_MAJOR' => int 10 'PCRE_VERSION_MINOR' => int 35 'PCRE_JIT_SUPPORT' => boolean true 'sqlite3' => array (size=12) 'SQLITE3_ASSOC' => int 1 'SQLITE3_NUM' => int 2 'SQLITE3_BOTH' => int 3 'SQLITE3_INTEGER' => int 1 'SQLITE3_FLOAT' => int 2 'SQLITE3_TEXT' => int 3 'SQLITE3_BLOB' => int 4 'SQLITE3_NULL' => int 5 'SQLITE3_OPEN_READONLY' => int 1 'SQLITE3_OPEN_READWRITE' => int 2 'SQLITE3_OPEN_CREATE' => int 4 'SQLITE3_DETERMINISTIC' => int 2048 'zlib' => array (size=27) 'FORCE_GZIP' => int 31 'FORCE_DEFLATE' => int 15 'ZLIB_ENCODING_RAW' => int -15 'ZLIB_ENCODING_GZIP' => int 31 'ZLIB_ENCODING_DEFLATE' => int 15 'ZLIB_NO_FLUSH' => int 0 'ZLIB_PARTIAL_FLUSH' => int 1 'ZLIB_SYNC_FLUSH' => int 2 'ZLIB_FULL_FLUSH' => int 3 'ZLIB_BLOCK' => int 5 'ZLIB_FINISH' => int 4 'ZLIB_FILTERED' => int 1 'ZLIB_HUFFMAN_ONLY' => int 2 'ZLIB_RLE' => int 3 'ZLIB_FIXED' => int 4 'ZLIB_DEFAULT_STRATEGY' => int 0 'ZLIB_VERSION' => string '1.2.11' (length=6) 'ZLIB_VERNUM' => int 4784 'ZLIB_OK' => int 0 'ZLIB_STREAM_END' => int 1 'ZLIB_NEED_DICT' => int 2 'ZLIB_ERRNO' => int -1 'ZLIB_STREAM_ERROR' => int -2 'ZLIB_DATA_ERROR' => int -3 'ZLIB_MEM_ERROR' => int -4 'ZLIB_BUF_ERROR' => int -5 'ZLIB_VERSION_ERROR' => int -6 'curl' => array (size=562) 'CURLOPT_AUTOREFERER' => int 58 'CURLOPT_BINARYTRANSFER' => int 19914 'CURLOPT_BUFFERSIZE' => int 98 'CURLOPT_CAINFO' => int 10065 'CURLOPT_CAPATH' => int 10097 'CURLOPT_CONNECTTIMEOUT' => int 78 'CURLOPT_COOKIE' => int 10022 'CURLOPT_COOKIEFILE' => int 10031 'CURLOPT_COOKIEJAR' => int 10082 'CURLOPT_COOKIESESSION' => int 96 'CURLOPT_CRLF' => int 27 'CURLOPT_CUSTOMREQUEST' => int 10036 'CURLOPT_DNS_CACHE_TIMEOUT' => int 92 'CURLOPT_DNS_USE_GLOBAL_CACHE' => int 91 'CURLOPT_EGDSOCKET' => int 10077 'CURLOPT_ENCODING' => int 10102 'CURLOPT_FAILONERROR' => int 45 'CURLOPT_FILE' => int 10001 'CURLOPT_FILETIME' => int 69 'CURLOPT_FOLLOWLOCATION' => int 52 'CURLOPT_FORBID_REUSE' => int 75 'CURLOPT_FRESH_CONNECT' => int 74 'CURLOPT_FTPAPPEND' => int 50 'CURLOPT_FTPLISTONLY' => int 48 'CURLOPT_FTPPORT' => int 10017 'CURLOPT_FTP_USE_EPRT' => int 106 'CURLOPT_FTP_USE_EPSV' => int 85 'CURLOPT_HEADER' => int 42 'CURLOPT_HEADERFUNCTION' => int 20079 'CURLOPT_HTTP200ALIASES' => int 10104 'CURLOPT_HTTPGET' => int 80 'CURLOPT_HTTPHEADER' => int 10023 'CURLOPT_HTTPPROXYTUNNEL' => int 61 'CURLOPT_HTTP_VERSION' => int 84 'CURLOPT_INFILE' => int 10009 'CURLOPT_INFILESIZE' => int 14 'CURLOPT_INTERFACE' => int 10062 'CURLOPT_KRB4LEVEL' => int 10063 'CURLOPT_LOW_SPEED_LIMIT' => int 19 'CURLOPT_LOW_SPEED_TIME' => int 20 'CURLOPT_MAXCONNECTS' => int 71 'CURLOPT_MAXREDIRS' => int 68 'CURLOPT_NETRC' => int 51 'CURLOPT_NOBODY' => int 44 'CURLOPT_NOPROGRESS' => int 43 'CURLOPT_NOSIGNAL' => int 99 'CURLOPT_PORT' => int 3 'CURLOPT_POST' => int 47 'CURLOPT_POSTFIELDS' => int 10015 'CURLOPT_POSTQUOTE' => int 10039 'CURLOPT_PREQUOTE' => int 10093 'CURLOPT_PRIVATE' => int 10103 'CURLOPT_PROGRESSFUNCTION' => int 20056 'CURLOPT_PROXY' => int 10004 'CURLOPT_PROXYPORT' => int 59 'CURLOPT_PROXYTYPE' => int 101 'CURLOPT_PROXYUSERPWD' => int 10006 'CURLOPT_PUT' => int 54 'CURLOPT_QUOTE' => int 10028 'CURLOPT_RANDOM_FILE' => int 10076 'CURLOPT_RANGE' => int 10007 'CURLOPT_READDATA' => int 10009 'CURLOPT_READFUNCTION' => int 20012 'CURLOPT_REFERER' => int 10016 'CURLOPT_RESUME_FROM' => int 21 'CURLOPT_RETURNTRANSFER' => int 19913 'CURLOPT_SHARE' => int 10100 'CURLOPT_SSLCERT' => int 10025 'CURLOPT_SSLCERTPASSWD' => int 10026 'CURLOPT_SSLCERTTYPE' => int 10086 'CURLOPT_SSLENGINE' => int 10089 'CURLOPT_SSLENGINE_DEFAULT' => int 90 'CURLOPT_SSLKEY' => int 10087 'CURLOPT_SSLKEYPASSWD' => int 10026 'CURLOPT_SSLKEYTYPE' => int 10088 'CURLOPT_SSLVERSION' => int 32 'CURLOPT_SSL_CIPHER_LIST' => int 10083 'CURLOPT_SSL_VERIFYHOST' => int 81 'CURLOPT_SSL_VERIFYPEER' => int 64 'CURLOPT_STDERR' => int 10037 'CURLOPT_TELNETOPTIONS' => int 10070 'CURLOPT_TIMECONDITION' => int 33 'CURLOPT_TIMEOUT' => int 13 'CURLOPT_TIMEVALUE' => int 34 'CURLOPT_TRANSFERTEXT' => int 53 'CURLOPT_UNRESTRICTED_AUTH' => int 105 'CURLOPT_UPLOAD' => int 46 'CURLOPT_URL' => int 10002 'CURLOPT_USERAGENT' => int 10018 'CURLOPT_USERPWD' => int 10005 'CURLOPT_VERBOSE' => int 41 'CURLOPT_WRITEFUNCTION' => int 20011 'CURLOPT_WRITEHEADER' => int 10029 'CURLE_ABORTED_BY_CALLBACK' => int 42 'CURLE_BAD_CALLING_ORDER' => int 44 'CURLE_BAD_CONTENT_ENCODING' => int 61 'CURLE_BAD_DOWNLOAD_RESUME' => int 36 'CURLE_BAD_FUNCTION_ARGUMENT' => int 43 'CURLE_BAD_PASSWORD_ENTERED' => int 46 'CURLE_COULDNT_CONNECT' => int 7 'CURLE_COULDNT_RESOLVE_HOST' => int 6 'CURLE_COULDNT_RESOLVE_PROXY' => int 5 'CURLE_FAILED_INIT' => int 2 'CURLE_FILE_COULDNT_READ_FILE' => int 37 'CURLE_FTP_ACCESS_DENIED' => int 9 'CURLE_FTP_BAD_DOWNLOAD_RESUME' => int 36 'CURLE_FTP_CANT_GET_HOST' => int 15 'CURLE_FTP_CANT_RECONNECT' => int 16 'CURLE_FTP_COULDNT_GET_SIZE' => int 32 'CURLE_FTP_COULDNT_RETR_FILE' => int 19 'CURLE_FTP_COULDNT_SET_ASCII' => int 29 'CURLE_FTP_COULDNT_SET_BINARY' => int 17 'CURLE_FTP_COULDNT_STOR_FILE' => int 25 'CURLE_FTP_COULDNT_USE_REST' => int 31 'CURLE_FTP_PARTIAL_FILE' => int 18 'CURLE_FTP_PORT_FAILED' => int 30 'CURLE_FTP_QUOTE_ERROR' => int 21 'CURLE_FTP_USER_PASSWORD_INCORRECT' => int 10 'CURLE_FTP_WEIRD_227_FORMAT' => int 14 'CURLE_FTP_WEIRD_PASS_REPLY' => int 11 'CURLE_FTP_WEIRD_PASV_REPLY' => int 13 'CURLE_FTP_WEIRD_SERVER_REPLY' => int 8 'CURLE_FTP_WEIRD_USER_REPLY' => int 12 'CURLE_FTP_WRITE_ERROR' => int 20 'CURLE_FUNCTION_NOT_FOUND' => int 41 'CURLE_GOT_NOTHING' => int 52 'CURLE_HTTP_NOT_FOUND' => int 22 'CURLE_HTTP_PORT_FAILED' => int 45 more elements... 'dom' => array (size=45) 'XML_ELEMENT_NODE' => int 1 'XML_ATTRIBUTE_NODE' => int 2 'XML_TEXT_NODE' => int 3 'XML_CDATA_SECTION_NODE' => int 4 'XML_ENTITY_REF_NODE' => int 5 'XML_ENTITY_NODE' => int 6 'XML_PI_NODE' => int 7 'XML_COMMENT_NODE' => int 8 'XML_DOCUMENT_NODE' => int 9 'XML_DOCUMENT_TYPE_NODE' => int 10 'XML_DOCUMENT_FRAG_NODE' => int 11 'XML_NOTATION_NODE' => int 12 'XML_HTML_DOCUMENT_NODE' => int 13 'XML_DTD_NODE' => int 14 'XML_ELEMENT_DECL_NODE' => int 15 'XML_ATTRIBUTE_DECL_NODE' => int 16 'XML_ENTITY_DECL_NODE' => int 17 'XML_NAMESPACE_DECL_NODE' => int 18 'XML_LOCAL_NAMESPACE' => int 18 'XML_ATTRIBUTE_CDATA' => int 1 'XML_ATTRIBUTE_ID' => int 2 'XML_ATTRIBUTE_IDREF' => int 3 'XML_ATTRIBUTE_IDREFS' => int 4 'XML_ATTRIBUTE_ENTITY' => int 6 'XML_ATTRIBUTE_NMTOKEN' => int 7 'XML_ATTRIBUTE_NMTOKENS' => int 8 'XML_ATTRIBUTE_ENUMERATION' => int 9 'XML_ATTRIBUTE_NOTATION' => int 10 'DOM_PHP_ERR' => int 0 'DOM_INDEX_SIZE_ERR' => int 1 'DOMSTRING_SIZE_ERR' => int 2 'DOM_HIERARCHY_REQUEST_ERR' => int 3 'DOM_WRONG_DOCUMENT_ERR' => int 4 'DOM_INVALID_CHARACTER_ERR' => int 5 'DOM_NO_DATA_ALLOWED_ERR' => int 6 'DOM_NO_MODIFICATION_ALLOWED_ERR' => int 7 'DOM_NOT_FOUND_ERR' => int 8 'DOM_NOT_SUPPORTED_ERR' => int 9 'DOM_INUSE_ATTRIBUTE_ERR' => int 10 'DOM_INVALID_STATE_ERR' => int 11 'DOM_SYNTAX_ERR' => int 12 'DOM_INVALID_MODIFICATION_ERR' => int 13 'DOM_NAMESPACE_ERR' => int 14 'DOM_INVALID_ACCESS_ERR' => int 15 'DOM_VALIDATION_ERR' => int 16 'fileinfo' => array (size=10) 'FILEINFO_NONE' => int 0 'FILEINFO_SYMLINK' => int 2 'FILEINFO_MIME' => int 1040 'FILEINFO_MIME_TYPE' => int 16 'FILEINFO_MIME_ENCODING' => int 1024 'FILEINFO_DEVICES' => int 8 'FILEINFO_CONTINUE' => int 32 'FILEINFO_PRESERVE_ATIME' => int 128 'FILEINFO_RAW' => int 256 'FILEINFO_EXTENSION' => int 16777216 'filter' => array (size=54) 'INPUT_POST' => int 0 'INPUT_GET' => int 1 'INPUT_COOKIE' => int 2 'INPUT_ENV' => int 4 'INPUT_SERVER' => int 5 'FILTER_FLAG_NONE' => int 0 'FILTER_REQUIRE_SCALAR' => int 33554432 'FILTER_REQUIRE_ARRAY' => int 16777216 'FILTER_FORCE_ARRAY' => int 67108864 'FILTER_NULL_ON_FAILURE' => int 134217728 'FILTER_VALIDATE_INT' => int 257 'FILTER_VALIDATE_BOOLEAN' => int 258 'FILTER_VALIDATE_BOOL' => int 258 'FILTER_VALIDATE_FLOAT' => int 259 'FILTER_VALIDATE_REGEXP' => int 272 'FILTER_VALIDATE_DOMAIN' => int 277 'FILTER_VALIDATE_URL' => int 273 'FILTER_VALIDATE_EMAIL' => int 274 'FILTER_VALIDATE_IP' => int 275 'FILTER_VALIDATE_MAC' => int 276 'FILTER_DEFAULT' => int 516 'FILTER_UNSAFE_RAW' => int 516 'FILTER_SANITIZE_STRING' => int 513 'FILTER_SANITIZE_STRIPPED' => int 513 'FILTER_SANITIZE_ENCODED' => int 514 'FILTER_SANITIZE_SPECIAL_CHARS' => int 515 'FILTER_SANITIZE_FULL_SPECIAL_CHARS' => int 522 'FILTER_SANITIZE_EMAIL' => int 517 'FILTER_SANITIZE_URL' => int 518 'FILTER_SANITIZE_NUMBER_INT' => int 519 'FILTER_SANITIZE_NUMBER_FLOAT' => int 520 'FILTER_SANITIZE_ADD_SLASHES' => int 523 'FILTER_CALLBACK' => int 1024 'FILTER_FLAG_ALLOW_OCTAL' => int 1 'FILTER_FLAG_ALLOW_HEX' => int 2 'FILTER_FLAG_STRIP_LOW' => int 4 'FILTER_FLAG_STRIP_HIGH' => int 8 'FILTER_FLAG_STRIP_BACKTICK' => int 512 'FILTER_FLAG_ENCODE_LOW' => int 16 'FILTER_FLAG_ENCODE_HIGH' => int 32 'FILTER_FLAG_ENCODE_AMP' => int 64 'FILTER_FLAG_NO_ENCODE_QUOTES' => int 128 'FILTER_FLAG_EMPTY_STRING_NULL' => int 256 'FILTER_FLAG_ALLOW_FRACTION' => int 4096 'FILTER_FLAG_ALLOW_THOUSAND' => int 8192 'FILTER_FLAG_ALLOW_SCIENTIFIC' => int 16384 'FILTER_FLAG_PATH_REQUIRED' => int 262144 'FILTER_FLAG_QUERY_REQUIRED' => int 524288 'FILTER_FLAG_IPV4' => int 1048576 'FILTER_FLAG_IPV6' => int 2097152 'FILTER_FLAG_NO_RES_RANGE' => int 4194304 'FILTER_FLAG_NO_PRIV_RANGE' => int 8388608 'FILTER_FLAG_HOSTNAME' => int 1048576 'FILTER_FLAG_EMAIL_UNICODE' => int 1048576 'ftp' => array (size=11) 'FTP_ASCII' => int 1 'FTP_TEXT' => int 1 'FTP_BINARY' => int 2 'FTP_IMAGE' => int 2 'FTP_AUTORESUME' => int -1 'FTP_TIMEOUT_SEC' => int 0 'FTP_AUTOSEEK' => int 1 'FTP_USEPASVADDRESS' => int 2 'FTP_FAILED' => int 0 'FTP_FINISHED' => int 1 'FTP_MOREDATA' => int 2 'hash' => array (size=33) 'HASH_HMAC' => int 1 'MHASH_CRC32' => int 0 'MHASH_MD5' => int 1 'MHASH_SHA1' => int 2 'MHASH_HAVAL256' => int 3 'MHASH_RIPEMD160' => int 5 'MHASH_TIGER' => int 7 'MHASH_GOST' => int 8 'MHASH_CRC32B' => int 9 'MHASH_HAVAL224' => int 10 'MHASH_HAVAL192' => int 11 'MHASH_HAVAL160' => int 12 'MHASH_HAVAL128' => int 13 'MHASH_TIGER128' => int 14 'MHASH_TIGER160' => int 15 'MHASH_MD4' => int 16 'MHASH_SHA256' => int 17 'MHASH_ADLER32' => int 18 'MHASH_SHA224' => int 19 'MHASH_SHA512' => int 20 'MHASH_SHA384' => int 21 'MHASH_WHIRLPOOL' => int 22 'MHASH_RIPEMD128' => int 23 'MHASH_RIPEMD256' => int 24 'MHASH_RIPEMD320' => int 25 'MHASH_SNEFRU256' => int 27 'MHASH_MD2' => int 28 'MHASH_FNV132' => int 29 'MHASH_FNV1A32' => int 30 'MHASH_FNV164' => int 31 'MHASH_FNV1A64' => int 32 'MHASH_JOAAT' => int 33 'MHASH_CRC32C' => int 34 'iconv' => array (size=4) 'ICONV_IMPL' => string 'glibc' (length=5) 'ICONV_VERSION' => string '2.28' (length=4) 'ICONV_MIME_DECODE_STRICT' => int 1 'ICONV_MIME_DECODE_CONTINUE_ON_ERROR' => int 2 'json' => array (size=28) 'JSON_HEX_TAG' => int 1 'JSON_HEX_AMP' => int 2 'JSON_HEX_APOS' => int 4 'JSON_HEX_QUOT' => int 8 'JSON_FORCE_OBJECT' => int 16 'JSON_NUMERIC_CHECK' => int 32 'JSON_UNESCAPED_SLASHES' => int 64 'JSON_PRETTY_PRINT' => int 128 'JSON_UNESCAPED_UNICODE' => int 256 'JSON_PARTIAL_OUTPUT_ON_ERROR' => int 512 'JSON_PRESERVE_ZERO_FRACTION' => int 1024 'JSON_UNESCAPED_LINE_TERMINATORS' => int 2048 'JSON_OBJECT_AS_ARRAY' => int 1 'JSON_BIGINT_AS_STRING' => int 2 'JSON_INVALID_UTF8_IGNORE' => int 1048576 'JSON_INVALID_UTF8_SUBSTITUTE' => int 2097152 'JSON_THROW_ON_ERROR' => int 4194304 'JSON_ERROR_NONE' => int 0 'JSON_ERROR_DEPTH' => int 1 'JSON_ERROR_STATE_MISMATCH' => int 2 'JSON_ERROR_CTRL_CHAR' => int 3 'JSON_ERROR_SYNTAX' => int 4 'JSON_ERROR_UTF8' => int 5 'JSON_ERROR_RECURSION' => int 6 'JSON_ERROR_INF_OR_NAN' => int 7 'JSON_ERROR_UNSUPPORTED_TYPE' => int 8 'JSON_ERROR_INVALID_PROPERTY_NAME' => int 9 'JSON_ERROR_UTF16' => int 10 'mbstring' => array (size=9) 'MB_CASE_UPPER' => int 0 'MB_CASE_LOWER' => int 1 'MB_CASE_TITLE' => int 2 'MB_CASE_FOLD' => int 3 'MB_CASE_UPPER_SIMPLE' => int 4 'MB_CASE_LOWER_SIMPLE' => int 5 'MB_CASE_TITLE_SIMPLE' => int 6 'MB_CASE_FOLD_SIMPLE' => int 7 'MB_ONIGURUMA_VERSION' => string '6.9.1' (length=5) 'session' => array (size=3) 'PHP_SESSION_DISABLED' => int 0 'PHP_SESSION_NONE' => int 1 'PHP_SESSION_ACTIVE' => int 2 'posix' => array (size=26) 'POSIX_F_OK' => int 0 'POSIX_X_OK' => int 1 'POSIX_W_OK' => int 2 'POSIX_R_OK' => int 4 'POSIX_S_IFREG' => int 32768 'POSIX_S_IFCHR' => int 8192 'POSIX_S_IFBLK' => int 24576 'POSIX_S_IFIFO' => int 4096 'POSIX_S_IFSOCK' => int 49152 'POSIX_RLIMIT_AS' => int 9 'POSIX_RLIMIT_CORE' => int 4 'POSIX_RLIMIT_CPU' => int 0 'POSIX_RLIMIT_DATA' => int 2 'POSIX_RLIMIT_FSIZE' => int 1 'POSIX_RLIMIT_LOCKS' => int 10 'POSIX_RLIMIT_MEMLOCK' => int 8 'POSIX_RLIMIT_MSGQUEUE' => int 12 'POSIX_RLIMIT_NICE' => int 13 'POSIX_RLIMIT_NOFILE' => int 7 'POSIX_RLIMIT_NPROC' => int 6 'POSIX_RLIMIT_RSS' => int 5 'POSIX_RLIMIT_RTPRIO' => int 14 'POSIX_RLIMIT_RTTIME' => int 15 'POSIX_RLIMIT_SIGPENDING' => int 11 'POSIX_RLIMIT_STACK' => int 3 'POSIX_RLIMIT_INFINITY' => int -1 'standard' => array (size=378) 'CONNECTION_ABORTED' => int 1 'CONNECTION_NORMAL' => int 0 'CONNECTION_TIMEOUT' => int 2 'INI_USER' => int 1 'INI_PERDIR' => int 2 'INI_SYSTEM' => int 4 'INI_ALL' => int 7 'INI_SCANNER_NORMAL' => int 0 'INI_SCANNER_RAW' => int 1 'INI_SCANNER_TYPED' => int 2 'PHP_URL_SCHEME' => int 0 'PHP_URL_HOST' => int 1 'PHP_URL_PORT' => int 2 'PHP_URL_USER' => int 3 'PHP_URL_PASS' => int 4 'PHP_URL_PATH' => int 5 'PHP_URL_QUERY' => int 6 'PHP_URL_FRAGMENT' => int 7 'PHP_QUERY_RFC1738' => int 1 'PHP_QUERY_RFC3986' => int 2 'M_E' => float 2.718281828459 'M_LOG2E' => float 1.442695040889 'M_LOG10E' => float 0.43429448190325 'M_LN2' => float 0.69314718055995 'M_LN10' => float 2.302585092994 'M_PI' => float 3.1415926535898 'M_PI_2' => float 1.5707963267949 'M_PI_4' => float 0.78539816339745 'M_1_PI' => float 0.31830988618379 'M_2_PI' => float 0.63661977236758 'M_SQRTPI' => float 1.7724538509055 'M_2_SQRTPI' => float 1.1283791670955 'M_LNPI' => float 1.1447298858494 'M_EULER' => float 0.57721566490153 'M_SQRT2' => float 1.4142135623731 'M_SQRT1_2' => float 0.70710678118655 'M_SQRT3' => float 1.7320508075689 'INF' => float INF 'NAN' => float NAN 'PHP_ROUND_HALF_UP' => int 1 'PHP_ROUND_HALF_DOWN' => int 2 'PHP_ROUND_HALF_EVEN' => int 3 'PHP_ROUND_HALF_ODD' => int 4 'INFO_GENERAL' => int 1 'INFO_CREDITS' => int 2 'INFO_CONFIGURATION' => int 4 'INFO_MODULES' => int 8 'INFO_ENVIRONMENT' => int 16 'INFO_VARIABLES' => int 32 'INFO_LICENSE' => int 64 'INFO_ALL' => int 4294967295 'CREDITS_GROUP' => int 1 'CREDITS_GENERAL' => int 2 'CREDITS_SAPI' => int 4 'CREDITS_MODULES' => int 8 'CREDITS_DOCS' => int 16 'CREDITS_FULLPAGE' => int 32 'CREDITS_QA' => int 64 'CREDITS_ALL' => int 4294967295 'HTML_SPECIALCHARS' => int 0 'HTML_ENTITIES' => int 1 'ENT_COMPAT' => int 2 'ENT_QUOTES' => int 3 'ENT_NOQUOTES' => int 0 'ENT_IGNORE' => int 4 'ENT_SUBSTITUTE' => int 8 'ENT_DISALLOWED' => int 128 'ENT_HTML401' => int 0 'ENT_XML1' => int 16 'ENT_XHTML' => int 32 'ENT_HTML5' => int 48 'STR_PAD_LEFT' => int 0 'STR_PAD_RIGHT' => int 1 'STR_PAD_BOTH' => int 2 'PATHINFO_DIRNAME' => int 1 'PATHINFO_BASENAME' => int 2 'PATHINFO_EXTENSION' => int 4 'PATHINFO_FILENAME' => int 8 'PATHINFO_ALL' => int 15 'CHAR_MAX' => int 127 'LC_CTYPE' => int 0 'LC_NUMERIC' => int 1 'LC_TIME' => int 2 'LC_COLLATE' => int 3 'LC_MONETARY' => int 4 'LC_ALL' => int 6 'LC_MESSAGES' => int 5 'SEEK_SET' => int 0 'SEEK_CUR' => int 1 'SEEK_END' => int 2 'LOCK_SH' => int 1 'LOCK_EX' => int 2 'LOCK_UN' => int 3 'LOCK_NB' => int 4 'STREAM_NOTIFY_CONNECT' => int 2 'STREAM_NOTIFY_AUTH_REQUIRED' => int 3 'STREAM_NOTIFY_AUTH_RESULT' => int 10 'STREAM_NOTIFY_MIME_TYPE_IS' => int 4 'STREAM_NOTIFY_FILE_SIZE_IS' => int 5 'STREAM_NOTIFY_REDIRECTED' => int 6 'STREAM_NOTIFY_PROGRESS' => int 7 'STREAM_NOTIFY_FAILURE' => int 9 'STREAM_NOTIFY_COMPLETED' => int 8 'STREAM_NOTIFY_RESOLVE' => int 1 'STREAM_NOTIFY_SEVERITY_INFO' => int 0 'STREAM_NOTIFY_SEVERITY_WARN' => int 1 'STREAM_NOTIFY_SEVERITY_ERR' => int 2 'STREAM_FILTER_READ' => int 1 'STREAM_FILTER_WRITE' => int 2 'STREAM_FILTER_ALL' => int 3 'STREAM_CLIENT_PERSISTENT' => int 1 'STREAM_CLIENT_ASYNC_CONNECT' => int 2 'STREAM_CLIENT_CONNECT' => int 4 'STREAM_CRYPTO_METHOD_ANY_CLIENT' => int 127 'STREAM_CRYPTO_METHOD_SSLv2_CLIENT' => int 3 'STREAM_CRYPTO_METHOD_SSLv3_CLIENT' => int 5 'STREAM_CRYPTO_METHOD_SSLv23_CLIENT' => int 57 'STREAM_CRYPTO_METHOD_TLS_CLIENT' => int 121 'STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT' => int 9 'STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT' => int 17 'STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT' => int 33 'STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT' => int 65 'STREAM_CRYPTO_METHOD_ANY_SERVER' => int 126 'STREAM_CRYPTO_METHOD_SSLv2_SERVER' => int 2 'STREAM_CRYPTO_METHOD_SSLv3_SERVER' => int 4 'STREAM_CRYPTO_METHOD_SSLv23_SERVER' => int 120 'STREAM_CRYPTO_METHOD_TLS_SERVER' => int 120 'STREAM_CRYPTO_METHOD_TLSv1_0_SERVER' => int 8 more elements... 'tokenizer' => array (size=144) 'T_THROW' => int 258 'T_INCLUDE' => int 260 'T_INCLUDE_ONCE' => int 261 'T_REQUIRE' => int 262 'T_REQUIRE_ONCE' => int 263 'T_LOGICAL_OR' => int 264 'T_LOGICAL_XOR' => int 265 'T_LOGICAL_AND' => int 266 'T_PRINT' => int 267 'T_YIELD' => int 268 'T_DOUBLE_ARROW' => int 269 'T_YIELD_FROM' => int 270 'T_PLUS_EQUAL' => int 271 'T_MINUS_EQUAL' => int 272 'T_MUL_EQUAL' => int 273 'T_DIV_EQUAL' => int 274 'T_CONCAT_EQUAL' => int 275 'T_MOD_EQUAL' => int 276 'T_AND_EQUAL' => int 277 'T_OR_EQUAL' => int 278 'T_XOR_EQUAL' => int 279 'T_SL_EQUAL' => int 280 'T_SR_EQUAL' => int 281 'T_POW_EQUAL' => int 282 'T_COALESCE_EQUAL' => int 283 'T_COALESCE' => int 284 'T_BOOLEAN_OR' => int 285 'T_BOOLEAN_AND' => int 286 'T_IS_EQUAL' => int 287 'T_IS_NOT_EQUAL' => int 288 'T_IS_IDENTICAL' => int 289 'T_IS_NOT_IDENTICAL' => int 290 'T_SPACESHIP' => int 291 'T_IS_SMALLER_OR_EQUAL' => int 292 'T_IS_GREATER_OR_EQUAL' => int 293 'T_SL' => int 294 'T_SR' => int 295 'T_INSTANCEOF' => int 296 'T_INT_CAST' => int 297 'T_DOUBLE_CAST' => int 298 'T_STRING_CAST' => int 299 'T_ARRAY_CAST' => int 300 'T_OBJECT_CAST' => int 301 'T_BOOL_CAST' => int 302 'T_UNSET_CAST' => int 303 'T_POW' => int 304 'T_CLONE' => int 305 'T_ELSEIF' => int 307 'T_ELSE' => int 308 'T_LNUMBER' => int 309 'T_DNUMBER' => int 310 'T_STRING' => int 311 'T_NAME_FULLY_QUALIFIED' => int 312 'T_NAME_RELATIVE' => int 313 'T_NAME_QUALIFIED' => int 314 'T_VARIABLE' => int 315 'T_INLINE_HTML' => int 316 'T_ENCAPSED_AND_WHITESPACE' => int 317 'T_CONSTANT_ENCAPSED_STRING' => int 318 'T_STRING_VARNAME' => int 319 'T_NUM_STRING' => int 320 'T_EVAL' => int 321 'T_NEW' => int 322 'T_EXIT' => int 323 'T_IF' => int 324 'T_ENDIF' => int 325 'T_ECHO' => int 326 'T_DO' => int 327 'T_WHILE' => int 328 'T_ENDWHILE' => int 329 'T_FOR' => int 330 'T_ENDFOR' => int 331 'T_FOREACH' => int 332 'T_ENDFOREACH' => int 333 'T_DECLARE' => int 334 'T_ENDDECLARE' => int 335 'T_AS' => int 336 'T_SWITCH' => int 337 'T_ENDSWITCH' => int 338 'T_CASE' => int 339 'T_DEFAULT' => int 340 'T_MATCH' => int 341 'T_BREAK' => int 342 'T_CONTINUE' => int 343 'T_GOTO' => int 344 'T_FUNCTION' => int 345 'T_FN' => int 346 'T_CONST' => int 347 'T_RETURN' => int 348 'T_TRY' => int 349 'T_CATCH' => int 350 'T_FINALLY' => int 351 'T_USE' => int 352 'T_INSTEADOF' => int 353 'T_GLOBAL' => int 354 'T_STATIC' => int 355 'T_ABSTRACT' => int 356 'T_FINAL' => int 357 'T_PRIVATE' => int 358 'T_PROTECTED' => int 359 'T_PUBLIC' => int 360 'T_VAR' => int 361 'T_UNSET' => int 362 'T_ISSET' => int 363 'T_EMPTY' => int 364 'T_HALT_COMPILER' => int 365 'T_CLASS' => int 366 'T_TRAIT' => int 367 'T_INTERFACE' => int 368 'T_EXTENDS' => int 369 'T_IMPLEMENTS' => int 370 'T_NAMESPACE' => int 371 'T_LIST' => int 372 'T_ARRAY' => int 373 'T_CALLABLE' => int 374 'T_LINE' => int 375 'T_FILE' => int 376 'T_DIR' => int 377 'T_CLASS_C' => int 378 'T_TRAIT_C' => int 379 'T_METHOD_C' => int 380 'T_FUNC_C' => int 381 'T_NS_C' => int 382 'T_ATTRIBUTE' => int 383 'T_INC' => int 384 'T_DEC' => int 385 'T_OBJECT_OPERATOR' => int 386 'T_NULLSAFE_OBJECT_OPERATOR' => int 387 more elements... 'xml' => array (size=27) 'XML_ERROR_NONE' => int 0 'XML_ERROR_NO_MEMORY' => int 1 'XML_ERROR_SYNTAX' => int 2 'XML_ERROR_NO_ELEMENTS' => int 3 'XML_ERROR_INVALID_TOKEN' => int 4 'XML_ERROR_UNCLOSED_TOKEN' => int 5 'XML_ERROR_PARTIAL_CHAR' => int 6 'XML_ERROR_TAG_MISMATCH' => int 7 'XML_ERROR_DUPLICATE_ATTRIBUTE' => int 8 'XML_ERROR_JUNK_AFTER_DOC_ELEMENT' => int 9 'XML_ERROR_PARAM_ENTITY_REF' => int 10 'XML_ERROR_UNDEFINED_ENTITY' => int 11 'XML_ERROR_RECURSIVE_ENTITY_REF' => int 12 'XML_ERROR_ASYNC_ENTITY' => int 13 'XML_ERROR_BAD_CHAR_REF' => int 14 'XML_ERROR_BINARY_ENTITY_REF' => int 15 'XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF' => int 16 'XML_ERROR_MISPLACED_XML_PI' => int 17 'XML_ERROR_UNKNOWN_ENCODING' => int 18 'XML_ERROR_INCORRECT_ENCODING' => int 19 'XML_ERROR_UNCLOSED_CDATA_SECTION' => int 20 'XML_ERROR_EXTERNAL_ENTITY_HANDLING' => int 21 'XML_OPTION_CASE_FOLDING' => int 1 'XML_OPTION_TARGET_ENCODING' => int 2 'XML_OPTION_SKIP_TAGSTART' => int 3 'XML_OPTION_SKIP_WHITE' => int 4 'XML_SAX_IMPL' => string 'libxml' (length=6) 'mysqli' => array (size=111) 'MYSQLI_READ_DEFAULT_GROUP' => int 5 'MYSQLI_READ_DEFAULT_FILE' => int 4 'MYSQLI_OPT_CONNECT_TIMEOUT' => int 0 'MYSQLI_OPT_LOCAL_INFILE' => int 8 'MYSQLI_INIT_COMMAND' => int 3 'MYSQLI_OPT_READ_TIMEOUT' => int 11 'MYSQLI_OPT_NET_CMD_BUFFER_SIZE' => int 202 'MYSQLI_OPT_NET_READ_BUFFER_SIZE' => int 203 'MYSQLI_OPT_INT_AND_FLOAT_NATIVE' => int 201 'MYSQLI_OPT_SSL_VERIFY_SERVER_CERT' => int 21 'MYSQLI_SERVER_PUBLIC_KEY' => int 35 'MYSQLI_CLIENT_SSL' => int 2048 'MYSQLI_CLIENT_COMPRESS' => int 32 'MYSQLI_CLIENT_INTERACTIVE' => int 1024 'MYSQLI_CLIENT_IGNORE_SPACE' => int 256 'MYSQLI_CLIENT_NO_SCHEMA' => int 16 'MYSQLI_CLIENT_FOUND_ROWS' => int 2 'MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT' => int 1073741824 'MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT' => int 64 'MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS' => int 4194304 'MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS' => int 37 'MYSQLI_STORE_RESULT' => int 0 'MYSQLI_USE_RESULT' => int 1 'MYSQLI_ASYNC' => int 8 'MYSQLI_STORE_RESULT_COPY_DATA' => int 16 'MYSQLI_ASSOC' => int 1 'MYSQLI_NUM' => int 2 'MYSQLI_BOTH' => int 3 'MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH' => int 0 'MYSQLI_STMT_ATTR_CURSOR_TYPE' => int 1 'MYSQLI_CURSOR_TYPE_NO_CURSOR' => int 0 'MYSQLI_CURSOR_TYPE_READ_ONLY' => int 1 'MYSQLI_CURSOR_TYPE_FOR_UPDATE' => int 2 'MYSQLI_CURSOR_TYPE_SCROLLABLE' => int 4 'MYSQLI_STMT_ATTR_PREFETCH_ROWS' => int 2 'MYSQLI_NOT_NULL_FLAG' => int 1 'MYSQLI_PRI_KEY_FLAG' => int 2 'MYSQLI_UNIQUE_KEY_FLAG' => int 4 'MYSQLI_MULTIPLE_KEY_FLAG' => int 8 'MYSQLI_BLOB_FLAG' => int 16 'MYSQLI_UNSIGNED_FLAG' => int 32 'MYSQLI_ZEROFILL_FLAG' => int 64 'MYSQLI_AUTO_INCREMENT_FLAG' => int 512 'MYSQLI_TIMESTAMP_FLAG' => int 1024 'MYSQLI_SET_FLAG' => int 2048 'MYSQLI_NUM_FLAG' => int 32768 'MYSQLI_PART_KEY_FLAG' => int 16384 'MYSQLI_GROUP_FLAG' => int 32768 'MYSQLI_ENUM_FLAG' => int 256 'MYSQLI_BINARY_FLAG' => int 128 'MYSQLI_NO_DEFAULT_VALUE_FLAG' => int 4096 'MYSQLI_ON_UPDATE_NOW_FLAG' => int 8192 'MYSQLI_TYPE_DECIMAL' => int 0 'MYSQLI_TYPE_TINY' => int 1 'MYSQLI_TYPE_SHORT' => int 2 'MYSQLI_TYPE_LONG' => int 3 'MYSQLI_TYPE_FLOAT' => int 4 'MYSQLI_TYPE_DOUBLE' => int 5 'MYSQLI_TYPE_NULL' => int 6 'MYSQLI_TYPE_TIMESTAMP' => int 7 'MYSQLI_TYPE_LONGLONG' => int 8 'MYSQLI_TYPE_INT24' => int 9 'MYSQLI_TYPE_DATE' => int 10 'MYSQLI_TYPE_TIME' => int 11 'MYSQLI_TYPE_DATETIME' => int 12 'MYSQLI_TYPE_YEAR' => int 13 'MYSQLI_TYPE_NEWDATE' => int 14 'MYSQLI_TYPE_ENUM' => int 247 'MYSQLI_TYPE_SET' => int 248 'MYSQLI_TYPE_TINY_BLOB' => int 249 'MYSQLI_TYPE_MEDIUM_BLOB' => int 250 'MYSQLI_TYPE_LONG_BLOB' => int 251 'MYSQLI_TYPE_BLOB' => int 252 'MYSQLI_TYPE_VAR_STRING' => int 253 'MYSQLI_TYPE_STRING' => int 254 'MYSQLI_TYPE_CHAR' => int 1 'MYSQLI_TYPE_INTERVAL' => int 247 'MYSQLI_TYPE_GEOMETRY' => int 255 'MYSQLI_TYPE_JSON' => int 245 'MYSQLI_TYPE_NEWDECIMAL' => int 246 'MYSQLI_TYPE_BIT' => int 16 'MYSQLI_SET_CHARSET_NAME' => int 7 'MYSQLI_SET_CHARSET_DIR' => int 6 'MYSQLI_NO_DATA' => int 100 'MYSQLI_DATA_TRUNCATED' => int 101 'MYSQLI_REPORT_INDEX' => int 4 'MYSQLI_REPORT_ERROR' => int 1 'MYSQLI_REPORT_STRICT' => int 2 'MYSQLI_REPORT_ALL' => int 255 'MYSQLI_REPORT_OFF' => int 0 'MYSQLI_DEBUG_TRACE_ENABLED' => int 0 'MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED' => int 16 'MYSQLI_SERVER_QUERY_NO_INDEX_USED' => int 32 'MYSQLI_SERVER_QUERY_WAS_SLOW' => int 2048 'MYSQLI_SERVER_PS_OUT_PARAMS' => int 4096 'MYSQLI_REFRESH_GRANT' => int 1 'MYSQLI_REFRESH_LOG' => int 2 'MYSQLI_REFRESH_TABLES' => int 4 'MYSQLI_REFRESH_HOSTS' => int 8 'MYSQLI_REFRESH_STATUS' => int 16 'MYSQLI_REFRESH_THREADS' => int 32 'MYSQLI_REFRESH_SLAVE' => int 64 'MYSQLI_REFRESH_MASTER' => int 128 'MYSQLI_REFRESH_BACKUP_LOG' => int 2097152 'MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT' => int 1 'MYSQLI_TRANS_START_READ_WRITE' => int 2 'MYSQLI_TRANS_START_READ_ONLY' => int 4 'MYSQLI_TRANS_COR_AND_CHAIN' => int 1 'MYSQLI_TRANS_COR_AND_NO_CHAIN' => int 2 'MYSQLI_TRANS_COR_RELEASE' => int 4 'MYSQLI_TRANS_COR_NO_RELEASE' => int 8 'sodium' => array (size=86) 'SODIUM_LIBRARY_VERSION' => string '1.0.17' (length=6) 'SODIUM_LIBRARY_MAJOR_VERSION' => int 10 'SODIUM_LIBRARY_MINOR_VERSION' => int 2 'SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES' => int 32 'SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES' => int 0 'SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES' => int 12 'SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES' => int 16 'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES' => int 32 'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES' => int 0 'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES' => int 8 'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES' => int 16 'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES' => int 32 'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES' => int 0 'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES' => int 12 'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES' => int 16 'SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES' => int 32 'SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES' => int 0 'SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES' => int 24 'SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES' => int 16 'SODIUM_CRYPTO_AUTH_BYTES' => int 32 'SODIUM_CRYPTO_AUTH_KEYBYTES' => int 32 'SODIUM_CRYPTO_BOX_SEALBYTES' => int 48 'SODIUM_CRYPTO_BOX_SECRETKEYBYTES' => int 32 'SODIUM_CRYPTO_BOX_PUBLICKEYBYTES' => int 32 'SODIUM_CRYPTO_BOX_KEYPAIRBYTES' => int 64 'SODIUM_CRYPTO_BOX_MACBYTES' => int 16 'SODIUM_CRYPTO_BOX_NONCEBYTES' => int 24 'SODIUM_CRYPTO_BOX_SEEDBYTES' => int 32 'SODIUM_CRYPTO_KDF_BYTES_MIN' => int 16 'SODIUM_CRYPTO_KDF_BYTES_MAX' => int 64 'SODIUM_CRYPTO_KDF_CONTEXTBYTES' => int 8 'SODIUM_CRYPTO_KDF_KEYBYTES' => int 32 'SODIUM_CRYPTO_KX_SEEDBYTES' => int 32 'SODIUM_CRYPTO_KX_SESSIONKEYBYTES' => int 32 'SODIUM_CRYPTO_KX_PUBLICKEYBYTES' => int 32 'SODIUM_CRYPTO_KX_SECRETKEYBYTES' => int 32 'SODIUM_CRYPTO_KX_KEYPAIRBYTES' => int 64 'SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES' => int 17 'SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES' => int 24 'SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES' => int 32 'SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX' => int 274877906816 'SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE' => int 0 'SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH' => int 1 'SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY' => int 2 'SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL' => int 3 'SODIUM_CRYPTO_GENERICHASH_BYTES' => int 32 'SODIUM_CRYPTO_GENERICHASH_BYTES_MIN' => int 16 'SODIUM_CRYPTO_GENERICHASH_BYTES_MAX' => int 64 'SODIUM_CRYPTO_GENERICHASH_KEYBYTES' => int 32 'SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN' => int 16 'SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX' => int 64 'SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13' => int 1 'SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13' => int 2 'SODIUM_CRYPTO_PWHASH_ALG_DEFAULT' => int 2 'SODIUM_CRYPTO_PWHASH_SALTBYTES' => int 16 'SODIUM_CRYPTO_PWHASH_STRPREFIX' => string '$argon2id$' (length=10) 'SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE' => int 2 'SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE' => int 67108864 'SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE' => int 3 'SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE' => int 268435456 'SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE' => int 4 'SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE' => int 1073741824 'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES' => int 32 'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX' => string '$7$' (length=3) 'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE' => int 524288 'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE' => int 16777216 'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE' => int 33554432 'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE' => int 1073741824 'SODIUM_CRYPTO_SCALARMULT_BYTES' => int 32 'SODIUM_CRYPTO_SCALARMULT_SCALARBYTES' => int 32 'SODIUM_CRYPTO_SHORTHASH_BYTES' => int 8 'SODIUM_CRYPTO_SHORTHASH_KEYBYTES' => int 16 'SODIUM_CRYPTO_SECRETBOX_KEYBYTES' => int 32 'SODIUM_CRYPTO_SECRETBOX_MACBYTES' => int 16 'SODIUM_CRYPTO_SECRETBOX_NONCEBYTES' => int 24 'SODIUM_CRYPTO_SIGN_BYTES' => int 64 'SODIUM_CRYPTO_SIGN_SEEDBYTES' => int 32 'SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES' => int 32 'SODIUM_CRYPTO_SIGN_SECRETKEYBYTES' => int 64 'SODIUM_CRYPTO_SIGN_KEYPAIRBYTES' => int 96 'SODIUM_CRYPTO_STREAM_NONCEBYTES' => int 24 'SODIUM_CRYPTO_STREAM_KEYBYTES' => int 32 'SODIUM_BASE64_VARIANT_ORIGINAL' => int 1 'SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING' => int 3 'SODIUM_BASE64_VARIANT_URLSAFE' => int 5 'SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING' => int 7 'xdebug' => array (size=16) 'XDEBUG_STACK_NO_DESC' => int 1 'XDEBUG_CC_UNUSED' => int 1 'XDEBUG_CC_DEAD_CODE' => int 2 'XDEBUG_CC_BRANCH_CHECK' => int 4 'XDEBUG_FILTER_CODE_COVERAGE' => int 256 'XDEBUG_FILTER_STACK' => int 512 'XDEBUG_FILTER_TRACING' => int 768 'XDEBUG_FILTER_NONE' => int 0 'XDEBUG_PATH_INCLUDE' => int 1 'XDEBUG_PATH_EXCLUDE' => int 2 'XDEBUG_NAMESPACE_INCLUDE' => int 17 'XDEBUG_NAMESPACE_EXCLUDE' => int 18 'XDEBUG_TRACE_APPEND' => int 1 'XDEBUG_TRACE_COMPUTERIZED' => int 2 'XDEBUG_TRACE_HTML' => int 4 'XDEBUG_TRACE_NAKED_FILENAME' => int 8 'user' => array (size=63) 'YOURLS_ADMIN' => boolean true 'HTTP_URL_REPLACE' => int 1 'HTTP_URL_JOIN_PATH' => int 2 'HTTP_URL_JOIN_QUERY' => int 4 'HTTP_URL_STRIP_USER' => int 8 'HTTP_URL_STRIP_PASS' => int 16 'HTTP_URL_STRIP_AUTH' => int 32 'HTTP_URL_STRIP_PORT' => int 64 'HTTP_URL_STRIP_PATH' => int 128 'HTTP_URL_STRIP_QUERY' => int 256 'HTTP_URL_STRIP_FRAGMENT' => int 512 'HTTP_URL_STRIP_ALL' => int 1024 'U_IDNA_PROHIBITED_ERROR' => int 66560 'U_IDNA_ERROR_START' => int 66560 'U_IDNA_UNASSIGNED_ERROR' => int 66561 'U_IDNA_CHECK_BIDI_ERROR' => int 66562 'U_IDNA_STD3_ASCII_RULES_ERROR' => int 66563 'U_IDNA_ACE_PREFIX_ERROR' => int 66564 'U_IDNA_VERIFICATION_ERROR' => int 66565 'U_IDNA_LABEL_TOO_LONG_ERROR' => int 66566 'U_IDNA_ZERO_LENGTH_LABEL_ERROR' => int 66567 'U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR' => int 66568 'U_IDNA_ERROR_LIMIT' => int 66569 'U_STRINGPREP_PROHIBITED_ERROR' => int 66560 'U_STRINGPREP_UNASSIGNED_ERROR' => int 66561 'U_STRINGPREP_CHECK_BIDI_ERROR' => int 66562 'IDNA_DEFAULT' => int 0 'IDNA_ALLOW_UNASSIGNED' => int 1 'IDNA_USE_STD3_RULES' => int 2 'IDNA_CHECK_BIDI' => int 4 'IDNA_CHECK_CONTEXTJ' => int 8 'IDNA_NONTRANSITIONAL_TO_ASCII' => int 16 'IDNA_NONTRANSITIONAL_TO_UNICODE' => int 32 'INTL_IDNA_VARIANT_2003' => int 0 'INTL_IDNA_VARIANT_UTS46' => int 1 'IDNA_ERROR_EMPTY_LABEL' => int 1 'IDNA_ERROR_LABEL_TOO_LONG' => int 2 'IDNA_ERROR_DOMAIN_NAME_TOO_LONG' => int 4 'IDNA_ERROR_LEADING_HYPHEN' => int 8 'IDNA_ERROR_TRAILING_HYPHEN' => int 16 'IDNA_ERROR_HYPHEN_3_4' => int 32 'IDNA_ERROR_LEADING_COMBINING_MARK' => int 64 'IDNA_ERROR_DISALLOWED' => int 128 'IDNA_ERROR_PUNYCODE' => int 256 'IDNA_ERROR_LABEL_HAS_DOT' => int 512 'IDNA_ERROR_INVALID_ACE_LABEL' => int 1024 'IDNA_ERROR_BIDI' => int 2048 'IDNA_ERROR_CONTEXTJ' => int 4096 'YOURLS_CONFIGFILE' => string '/var/www/html/user/config.php' (length=29) 'YOURLS_DB_USER' => string 'root' (length=4) 'YOURLS_DB_PASS' => string 'example' (length=7) 'YOURLS_DB_NAME' => string 'yourls' (length=6) 'YOURLS_DB_HOST' => string 'mysql' (length=5) 'YOURLS_DB_PREFIX' => string 'yourls_' (length=7) 'YOURLS_SITE' => string 'http://ip172-18-0-92-c0qq2v1bqvp0008tb240-8080.direct.labs.play-with-docker.com' (length=79) 'YOURLS_HOURS_OFFSET' => int 0 'YOURLS_LANG' => string '' (length=0) 'YOURLS_UNIQUE_URLS' => boolean true 'YOURLS_PRIVATE' => boolean true 'YOURLS_COOKIEKEY' => string 'modify this text with something random' (length=38) 'YOURLS_DEBUG' => boolean true 'YOURLS_URL_CONVERT' => int 36 'YOURLS_NOSTATS' => boolean false ```
ozh commented 3 years ago

Honestly I don't know... What would run differently in the docker environment? I was maybe suspecting a cookie thing but it seems to be correctly stored.

So, if we narrow the problem to being caused by YOURLS_PRIVATE = true, the thing is : files includes/auth.php or includes/functions-auth.php haven't changed between 1.7.9 and 1.8... (except for a function that was moved in from another file)

Sorry, I'm lost here

Niduroki commented 3 years ago

It's a problem with the docker image, pretty certain of that. I changed the image in the docker-compose file above to 1.7.9 and then did a very silly update:

[root@Alice git]# docker-compose -f dco.yml up -d
Building with native build. […]
Creating network "git_default" with the default driver
Creating git_mysql_1  ... done
Creating git_yourls_1 ... done
[root@Alice git]# docker exec -it git_yourls_1 bash
root@725293abf232:/var/www/html# cp user/config.php ~/  
root@725293abf232:/var/www/html# cd ..
root@725293abf232:/var/www# rm -rf html 
root@725293abf232:/var/www# apt-get update && apt-get install git
[…]
root@725293abf232:/var/www# cp ~/config.php html/user/ 
root@725293abf232:/var/www# cd html/
root@725293abf232:/var/www/html# git checkout 1.8
Note: checking out '1.8'.

You are in 'detached HEAD' state. […]

HEAD is now at a280e37 Update CHANGELOG.md
root@725293abf232:/var/www/html# 

after which it works perfectly fine. Might try a git bisect later this week.

Guessing this should be moved to yourls/docker-yourls then?

Niduroki commented 3 years ago

See https://github.com/YOURLS/docker-yourls/issues/64 Also includes a git-bisect, because it's later this week already, I suppose?


Edit

Copy-pasting the git bisect into here, since we're continuing here, sorry.

[root@Alice docker-yourls]# git bisect good
3b766d46bd627ce788a307de7805184b7830ab71 is the first bad commit
commit 3b766d46bd627ce788a307de7805184b7830ab71
Author: Léo Colombaro <git@colombaro.fr>
Date:   Mon Feb 22 19:30:48 2021 +0100

    Move ENV_FILE usage to config file

    Ref https://github.com/docker-library/official-images/pull/9068#issuecomment-725748134

 apache/config-docker.php        | 25 ++++++++++++++++++-------
 apache/docker-entrypoint.sh     | 30 ------------------------------
 config-docker.php               | 25 ++++++++++++++++++-------
 docker-entrypoint.sh            | 30 ------------------------------
 fpm-alpine/config-docker.php    | 25 ++++++++++++++++++-------
 fpm-alpine/docker-entrypoint.sh | 30 ------------------------------
 fpm/config-docker.php           | 25 ++++++++++++++++++-------
 fpm/docker-entrypoint.sh        | 30 ------------------------------
 8 files changed, 72 insertions(+), 148 deletions(-)
[root@Alice docker-yourls]# 

Nice Link: https://github.com/YOURLS/docker-yourls/commit/3b766d46bd627ce788a307de7805184b7830ab71 is the first bad commit


Started at https://github.com/YOURLS/docker-yourls/commit/72f24c9b782ddf3f5c694e5461ba03330124463e = Good ended at master = bad. I made sure

ENV YOURLS_VERSION 1.8
ENV YOURLS_SHA256 76c6db3b37a9c9f2570d280dce03b0fc34cd690767af77a2aed2cb2fbbaf546f

is used in every revision, and then built a apache image for each revision, naming it something like bisect-3b76 and testing it via the docker-compose file from the yourls#2845 issue whether it's good or bad.

LeoColomb commented 3 years ago

@Niduroki Please don't duplicate the case.

kenjibailly commented 3 years ago

Same problem for me here on 1.8, tried fixing it for over an hour, but unfortunately couldn't.

iMxSeraph commented 3 years ago

Same issue...At first I tought that something wrong with my nginx or cloudflare and had a lot of try to solve it. When I found this issue, I tried 1.7.9 and it worked :( Hope you guys can fix it.

jakevis commented 3 years ago

+1 here - upgraded from 1.7.9 to 1.8 and I get a white screen on admin/upgrade.php and nothing in the logs Moving back to 1.7.9 works.

ozh commented 3 years ago

I found the line causing the error in a docker environment :

(Oddly enough, first checking if the file to require() is either is_readable() or is_writable() doesn't suffice.)

Now, this file and this require() line hasn't changed during the last 8 years so it's obviously something related to recent changes in the docker image. I'm not familiar enough with the docker image to pinpoint what changed and is causing this... @LeoColomb ? :)

LeoColomb commented 3 years ago

@ozh Ah, cool, I was about to start a debug-night 😉. Main change is PHP 8.

I'll check permission at installation.

ozh commented 3 years ago

👍

ozh commented 3 years ago

Thanks @LeoColomb

This said, why wouldn't

https://github.com/YOURLS/YOURLS/blob/5dde5a93f181cfbde3e6fa343a6cb668a1071a5e/includes/functions-auth.php#L165-L169

be enough to prevent this?

LeoColomb commented 3 years ago

@ozh The mentioned lines are "just" checking file permissions. The issue here was the function declared twice, the file itself (= raw content) is readable and writable. 🙂

dullage commented 3 years ago

I can see this issue is closed but I don't believe it's been published to Docker Hub. Any idea when a fix for this may be available for download?

LeoColomb commented 3 years ago

Yup, waiting for @ozh to publish a release 😉

ozh commented 3 years ago

Not forgotten, I promise :) Will be done tomorrow, or by the end of the week (there's one remaining issue I want to investigate before pushing 1.8.1)