php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #73310 PECL OAuth segfaults when OPcache is enabled in PHP 7
Submitted: 2016-10-13 04:33 UTC Modified: 2022-01-03 09:20 UTC
Votes:34
Avg. Score:4.4 ± 0.7
Reproduced:33 of 34 (97.1%)
Same Version:19 (57.6%)
Same OS:11 (33.3%)
From: james at dunarri dot com Assigned: cmb (profile)
Status: No Feedback Package: *General Issues
PHP Version: 7.0.11 OS: CentOS 7.2
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: james at dunarri dot com
New email:
PHP Version: OS:

 

 [2016-10-13 04:33 UTC] james at dunarri dot com
Description:
------------
Installed OAuth 2.0.2 via pecl install oauth on a system running PHP 7.0.11

I didn't have problems like this prior to installing the OAuth extension, and it only happens on scripts that make OAuth calls. The following is what is happening:

1. run "systemctl restart php-fpm" to get a fresh start
2. access a script that makes an OAuth fetch call, works fine the first time
3. refresh the script, now I get "Allowed memory size of 2147483648 bytes exhausted (tried to allocate 4294967426 bytes)" the line it points to for this error is calling oauth->fetch
4. refresh a 3rd time, now I get a 503 and the php-fpm error.log shows "child exited on signal 11 (SIGSEGV - core dumped)"
5. every refresh after this produces a SIGSEGV, yet other PHP code still works fine.


Test script:
---------------
<?php
$oauth = new OAuth('2c3b6b01ed6d890bfe9bf6d86b4ca9a3', '22c64228b04198d5c9cfbec07b8949fd');
$oauth->enableDebug();
$oauth->setToken('5bb125fb3aaed2dbb2a42e67d189ab6d', 'b577b44f911db8cd0879e2c827ebe3e3');
$headers = array('Content-Type' => 'application/json', 'Accept' => 'application/json');
// the next line causes the bug
$oauth->fetch('http://wildscooterparts.com/api/rest/products/56', null, OAUTH_HTTP_METHOD_GET, $headers);
echo '<pre>'; print_r($oauth->getLastResponseInfo());
?>


Expected result:
----------------
The response info should be output everytime it is run, not just the first time. php-fpm should not SIGSEGV!!

Actual result:
--------------
After the first run, php-fpm generates a SIGSEGV when running the script and outputs 503 to the browser.

core_backtrace contains this:
{   "signal": 11
,   "executable": "/usr/sbin/php-fpm"
,   "stacktrace":
      [ {   "crash_thread": true
        ,   "frames":
              [ {   "address": 140307830553088
                ,   "build_id_offset": 140307830553088
                } ]
        } ]
}


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2016-10-13 04:50 UTC] james at dunarri dot com
Can you please change this to PRIVATE?? I didn't know my oauth tokens would be going on the public internet or I wouldn't have posted the test script.
 [2016-10-13 06:16 UTC] james at dunarri dot com
It's not just php-fpm, I tried switching back to mod_php and prefork to alleviate my troubles and the same thing is happening. have to restart httpd to get it to work once, then:
AH00052: child pid 16825 exit signal Segmentation fault (11)
 [2016-10-13 06:53 UTC] james at dunarri dot com
-Summary: PECL OAuth corrupts memory in php-fpm +Summary: PECL OAuth segfaults when OPcache is enabled in PHP 7
 [2016-10-13 06:53 UTC] james at dunarri dot com
The bug is actually due to the OPcache, I disabled it via .user.ini and the problem went away. However, we need OPcache for performance!
 [2016-11-07 20:16 UTC] shelbylmoore at gmail dot com
A potential workaround is to blacklist the files leveraging the oauth extension for opcache using the opcache.blacklist_file config option in opcache.ini
 [2016-11-09 14:16 UTC] ionut dot breta at zitec dot com
Hello,

I'm experiencing the same problem on CentOS 6.8 with PHP 7.0.12, but only on PHP-FPM SAPI. An interesting thing I've discovered is that if I don't send the headers parameter to the fetch method, the client works flawlessly (when OPCache enabled).
 [2016-12-07 12:19 UTC] black at zypo dot com
Sadly we can still validate this for PHP 7.1.0 (OPcache 7.1.0) and OAuth 2.0.2 via PHP-FPM on Mac OS 10.11.6.

This works flawlessly with PHP 5.6.6 (OPcache 7.0.4-dev) and OAuth 1.2.3 on the same system, also via PHP-FPM.

And as donut said, if you call $oauth->fetch(<url>, <data>, <method>) - Without the 4th parameter "<header>", it also works with PHP 7.1.0.
 [2016-12-21 15:19 UTC] php dot qa at sebastianmendel dot de
My Testcase:

PHP 7.0.14 without opcache

# php --version
PHP 7.0.14 (cli) (built: Dec 20 2016 15:13:56) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies





testoauth.php
-------------

<?php

function getOauth()
{
    $strConsumerKey = 'testoauth';
    $strConsumerSecret = file_get_contents('/srv/www/intern/timetracker.sme/timetracker.key.pem');
    $strKey = $strConsumerSecret;
    $strNonce = md5(microtime(true) . uniqid('', true));

    $oAuth = new OAuth(
        $strConsumerKey,
        $strConsumerSecret,
        OAUTH_SIG_METHOD_RSASHA1,
        OAUTH_AUTH_TYPE_URI
    );

    $oAuth->setRSACertificate($strKey);
    $oAuth->setRequestEngine(OAUTH_REQENGINE_CURL);

    $oAuth->setNonce($strNonce);
    $oAuth->setTimestamp(time());

    return $oAuth;
}

try {
    $oAuth = getOauth();

    $oAuth->setToken('123456789', 'abcdefghijk');

    $oAuth->fetch(
        'https://jira.netresearch.de/rest/api/2/issue/NRTECH-123',
        array(),
        OAUTH_HTTP_METHOD_GET
    );
} catch (\Throwable $e) {
    $oAuth = getOauth();

    $response = $oAuth->getRequestToken(
        'https://jira.netresearch.de/plugins/servlet/oauth/request-token'
    );
}



run gdb testoauth.php
---------------------

(gdb) run testoauth.php
Starting program: /usr/bin/php testoauth.php
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffedb58700 (LWP 288)]
[Thread 0x7fffedb58700 (LWP 288) exited]

Program received signal SIGSEGV, Segmentation fault.
_zval_dtor_func (p=0xe0) at /usr/src/php/Zend/zend_variables.c:33
33      /usr/src/php/Zend/zend_variables.c: No such file or directory.



gdb bt full output
------------------

(gdb) bt full
#0  _zval_dtor_func (p=0xe0) at /usr/src/php/Zend/zend_variables.c:33
No locals.
#1  0x000000000047da4d in _zval_dtor (zvalue=<optimized out>, zvalue=<optimized out>) at /usr/src/php/Zend/zend_variables.h:44
No locals.
#2  zif_openssl_sign (execute_data=<optimized out>, return_value=0x7fffffffac50) at /usr/src/php/ext/openssl/openssl.c:4885
        key = 0x7fffee213230
        signature = 0x7fffee2710b0
        pkey = 0x137b460
        siglen = 128
        keyresource = 0x7fffee271090
        data = 0x7fffee25cc98 "POST&https%3A%2F%2Fjira.netresearch.de%2Fplugins%2Fservlet%2Foauth%2Frequest-token&oauth_consumer_key%3Dtestoauth%26oauth_nonce%3Dd1eca87e3450bf01cced109675a753c4%26oauth_signature_method%3DRSA-SHA1%2"...
        data_len = 251
        md_ctx = {digest = 0x7ffff6e6d100, engine = 0x0, flags = 0, md_data = 0x137d2e0, pctx = 0x0, update = 0x7ffff6b951e0}
        method = 0x0
        signature_algo = <optimized out>
        mdtype = 0x7ffff6e6d100
#3  0x0000000000866e27 in zend_call_function (fci=fci@entry=0x7fffffffabd0, fci_cache=0x7fffffffab00, fci_cache@entry=0x0) at /usr/src/php/Zend/zend_execute_API.c:878
        call_via_handler = 0
        i = <optimized out>
        calling_scope = <optimized out>
        call = 0x137b7e0
        dummy_execute_data = {opline = 0x25, call = 0x3000000028, return_value = 0x7fffffffac10, func = 0x7fffffffab50, This = {value = {lval = 140737188880744,
              dval = 6.9533410118246286e-310, counted = 0x7fffee266168, str = 0x7fffee266168, arr = 0x7fffee266168, obj = 0x7fffee266168, res = 0x7fffee266168, ref = 0x7fffee266168,
              ast = 0x7fffee266168, zv = 0x7fffee266168, ptr = 0x7fffee266168, ce = 0x7fffee266168, func = 0x7fffee266168, ww = {w1 = 3995492712, w2 = 32767}}, u1 = {v = {type = 66 'B',
                type_flags = 107 'k', const_flags = 122 'z', reserved = 0 '\000'}, type_info = 8022850}, u2 = {var_flags = 0, next = 0, cache_slot = 0, lineno = 0, num_args = 0,
              fe_pos = 0, fe_iter_idx = 0}}, called_scope = 0x7fffedb6b817, prev_execute_data = 0x7fffee266168, symbol_table = 0x7fffee27d0f8, run_time_cache = 0x1,
          literals = 0x7fffee266145}
        fci_cache_local = {initialized = 1 '\001', function_handler = 0x1274ae0, calling_scope = 0x0, called_scope = 0x0, object = 0x0}
        func = 0x1274ae0
        orig_scope = 0x1375a90
#4  0x00000000008672c8 in call_user_function_ex (function_table=<optimized out>, object=<optimized out>, function_name=<optimized out>, retval_ptr=<optimized out>,
    param_count=<optimized out>, params=<optimized out>, no_separation=0, symbol_table=0x0) at /usr/src/php/Zend/zend_execute_API.c:675
        fci = {size = 72, function_table = 0x124fd60, function_name = {value = {lval = 140737188837688, dval = 6.9533410096973796e-310, counted = 0x7fffee25b938, str = 0x7fffee25b938,
              arr = 0x7fffee25b938, obj = 0x7fffee25b938, res = 0x7fffee25b938, ref = 0x7fffee25b938, ast = 0x7fffee25b938, zv = 0x7fffee25b938, ptr = 0x7fffee25b938, ce = 0x7fffee25b938,
              func = 0x7fffee25b938, ww = {w1 = 3995449656, w2 = 32767}}, u1 = {v = {type = 6 '\006', type_flags = 20 '\024', const_flags = 0 '\000', reserved = 0 '\000'},
              type_info = 5126}, u2 = {var_flags = 32767, next = 32767, cache_slot = 32767, lineno = 32767, num_args = 32767, fe_pos = 32767, fe_iter_idx = 32767}}, symbol_table = 0x0,
          retval = 0x7fffffffac50, params = 0x7fffffffac60, object = 0x0, no_separation = 0 '\000', param_count = 3}
#5  0x00007fffedb62069 in soo_sign_rsa (soo=0xe0, message=0xffffffff <error: Cannot access memory at address 0xffffffff>, ctx=0x7ffff1a63648 <main_arena+40>) at /usr/src/oauth/oauth.c:254
        args = {{value = {lval = 140737188842624, dval = 6.9533410099412504e-310, counted = 0x7fffee25cc80, str = 0x7fffee25cc80, arr = 0x7fffee25cc80, obj = 0x7fffee25cc80,
              res = 0x7fffee25cc80, ref = 0x7fffee25cc80, ast = 0x7fffee25cc80, zv = 0x7fffee25cc80, ptr = 0x7fffee25cc80, ce = 0x7fffee25cc80, func = 0x7fffee25cc80, ww = {
                w1 = 3995454592, w2 = 32767}}, u1 = {v = {type = 6 '\006', type_flags = 20 '\024', const_flags = 0 '\000', reserved = 0 '\000'}, type_info = 5126}, u2 = {var_flags = 0,
              next = 0, cache_slot = 0, lineno = 0, num_args = 0, fe_pos = 0, fe_iter_idx = 0}}, {value = {lval = 140737188925608, dval = 6.9533410140412047e-310,
              counted = 0x7fffee2710a8, str = 0x7fffee2710a8, arr = 0x7fffee2710a8, obj = 0x7fffee2710a8, res = 0x7fffee2710a8, ref = 0x7fffee2710a8, ast = 0x7fffee2710a8,
              zv = 0x7fffee2710a8, ptr = 0x7fffee2710a8, ce = 0x7fffee2710a8, func = 0x7fffee2710a8, ww = {w1 = 3995537576, w2 = 32767}}, u1 = {v = {type = 10 '\n', type_flags = 4 '\004',
                const_flags = 0 '\000', reserved = 0 '\000'}, type_info = 1034}, u2 = {var_flags = 32767, next = 32767, cache_slot = 32767, lineno = 32767, num_args = 32767,
              fe_pos = 32767, fe_iter_idx = 32767}}, {value = {lval = 140737188925584, dval = 6.953341014040019e-310, counted = 0x7fffee271090, str = 0x7fffee271090, arr = 0x7fffee271090,
              obj = 0x7fffee271090, res = 0x7fffee271090, ref = 0x7fffee271090, ast = 0x7fffee271090, zv = 0x7fffee271090, ptr = 0x7fffee271090, ce = 0x7fffee271090,
              func = 0x7fffee271090, ww = {w1 = 3995537552, w2 = 32767}}, u1 = {v = {type = 9 '\t', type_flags = 4 '\004', const_flags = 0 '\000', reserved = 0 '\000'}, type_info = 1033},
---Type <return> to continue, or q <return> to quit---
            u2 = {var_flags = 0, next = 0, cache_slot = 0, lineno = 0, num_args = 0, fe_pos = 0, fe_iter_idx = 0}}}
        func = {value = {lval = 140737188837688, dval = 6.9533410096973796e-310, counted = 0x7fffee25b938, str = 0x7fffee25b938, arr = 0x7fffee25b938, obj = 0x7fffee25b938,
            res = 0x7fffee25b938, ref = 0x7fffee25b938, ast = 0x7fffee25b938, zv = 0x7fffee25b938, ptr = 0x7fffee25b938, ce = 0x7fffee25b938, func = 0x7fffee25b938, ww = {w1 = 3995449656,
              w2 = 32767}}, u1 = {v = {type = 6 '\006', type_flags = 20 '\024', const_flags = 0 '\000', reserved = 0 '\000'}, type_info = 5126}, u2 = {var_flags = 32767, next = 32767,
            cache_slot = 32767, lineno = 32767, num_args = 32767, fe_pos = 32767, fe_iter_idx = 32767}}
        retval = {value = {lval = 140737188811704, dval = 6.9533410084135994e-310, counted = 0x7fffee2553b8, str = 0x7fffee2553b8, arr = 0x7fffee2553b8, obj = 0x7fffee2553b8,
            res = 0x7fffee2553b8, ref = 0x7fffee2553b8, ast = 0x7fffee2553b8, zv = 0x7fffee2553b8, ptr = 0x7fffee2553b8, ce = 0x7fffee2553b8, func = 0x7fffee2553b8, ww = {w1 = 3995423672,
              w2 = 32767}}, u1 = {v = {type = 1 '\001', type_flags = 0 '\000', const_flags = 0 '\000', reserved = 0 '\000'}, type_info = 1}, u2 = {var_flags = 32767, next = 32767,
            cache_slot = 32767, lineno = 32767, num_args = 32767, fe_pos = 32767, fe_iter_idx = 32767}}
        result = 0x0
#6  0x00007fffedb62220 in soo_sign (soo=soo@entry=0x7fffee273380,
    message=message@entry=0x7fffee28d018 "POST&https%3A%2F%2Fjira.netresearch.de%2Fplugins%2Fservlet%2Foauth%2Frequest-token&oauth_consumer_key%3Dtestoauth%26oauth_nonce%3Dd1eca87e3450bf01cced109675a753c4%26oauth_signature_method%3DRSA-SHA1%2"..., cs=cs@entry=0x7fffee25cb80, ts=ts@entry=0x0, ctx=<optimized out>) at /usr/src/oauth/oauth.c:302
        csec = <optimized out>
        tsec = <optimized out>
#7  0x00007fffedb65deb in oauth_fetch (soo=0x7fffee273380, url=<optimized out>, method=<optimized out>, request_params=<optimized out>, request_headers=<optimized out>,
    init_oauth_args=0x0, fetch_flags=0) at /usr/src/oauth/oauth.c:1501
        bufz = 0x0
        sbs = 0x7fffee28d000
        sig = <optimized out>
        final_http_method = 0x7fffedb6b817 "POST"
        token = <optimized out>
        ts = 0x0
        token_secret = <optimized out>
        zret = {value = {lval = 140737488334456, dval = 6.9533558068037905e-310, counted = 0x7fffffffae78, str = 0x7fffffffae78, arr = 0x7fffffffae78, obj = 0x7fffffffae78,
            res = 0x7fffffffae78, ref = 0x7fffffffae78, ast = 0x7fffffffae78, zv = 0x7fffffffae78, ptr = 0x7fffffffae78, ce = 0x7fffffffae78, func = 0x7fffffffae78, ww = {w1 = 4294946424,
              w2 = 32767}}, u1 = {v = {type = 112 'p', type_flags = 174 '\256', const_flags = 255 '\377', reserved = 255 '\377'}, type_info = 4294946416}, u2 = {var_flags = 32767,
            next = 32767, cache_slot = 32767, lineno = 32767, num_args = 32767, fe_pos = 32767, fe_iter_idx = 32767}}
        oauth_args = 0x7fffee2552d8
        rargs = 0x0
        rheaders = 0x7fffee255268
        http_response_code = -1
        auth_type = 1
        surl = {c = 0x7fffee27c140 "https://jira.netresearch.de/plugins/servlet/oauth/request-token", len = 63, a = 78}
        payload = {c = 0x0, len = 0, a = 0}
        postdata = {c = 0x0, len = 0, a = 0}
        is_redirect = 0
        follow_redirects = 1
        need_to_free_rheaders = 1
#8  0x00007fffedb679f8 in zim_oauth_getRequestToken (execute_data=0xe0, return_value=0xffffffff) at /usr/src/oauth/oauth.c:1974
        zret = {value = {lval = 140737188541168, dval = 6.953340995047345e-310, counted = 0x7fffee2132f0, str = 0x7fffee2132f0, arr = 0x7fffee2132f0, obj = 0x7fffee2132f0,
            res = 0x7fffee2132f0, ref = 0x7fffee2132f0, ast = 0x7fffee2132f0, zv = 0x7fffee2132f0, ptr = 0x7fffee2132f0, ce = 0x7fffee2132f0, func = 0x7fffee2132f0, ww = {w1 = 3995153136,
              w2 = 32767}}, u1 = {v = {type = 0 '\000', type_flags = 208 '\320', const_flags = 39 '\'', reserved = 238 '\356'}, type_info = 3995586560}, u2 = {var_flags = 32767,
            next = 32767, cache_slot = 32767, lineno = 32767, num_args = 32767, fe_pos = 32767, fe_iter_idx = 32767}}
        callback_url = 0x0
        url = 0x7fffee267078 "https://jira.netresearch.de/plugins/servlet/oauth/request-token"
        http_method = 0x7fffedb6b817 "POST"
        url_len = 63
        http_method_len = 4
---Type <return> to continue, or q <return> to quit---
        retcode = 140737188934528
        args = 0x122e940 <executor_globals>
#9  0x00000000008f6bd2 in ZEND_DO_FCALL_SPEC_HANDLER () at /usr/src/php/Zend/zend_vm_execute.h:842
        should_change_scope = 1
        call = 0x7fffee213140
        fbc = 0x1375fb0
        object = <optimized out>
        ret = <optimized out>
#10 0x00000000008b277b in execute_ex (ex=<optimized out>) at /usr/src/php/Zend/zend_vm_execute.h:414
        orig_opline = 0x7fffee27d000
        orig_execute_data = 0x0
#11 0x0000000000906287 in zend_execute (op_array=0x7fffee27d000, op_array@entry=0x7fffee28a280, return_value=return_value@entry=0x7fffee213030) at /usr/src/php/Zend/zend_vm_execute.h:458
        execute_data = 0x7fffee213030
#12 0x0000000000874ee4 in zend_execute_scripts (type=type@entry=8, retval=0x7fffee213030, retval@entry=0x0, file_count=file_count@entry=3) at /usr/src/php/Zend/zend.c:1437
        files = {{gp_offset = 40, fp_offset = 0, overflow_arg_area = 0x7fffffffafe0, reg_save_area = 0x7fffffffaf70}}
        i = 1
        file_handle = 0x7fffffffd4c0
        op_array = 0x7fffee28a280
#13 0x0000000000818220 in php_execute_script (primary_file=0x7fffffffd4c0) at /usr/src/php/main/main.c:2494
        realfile = "/srv/www/web/testoauth.php\000b\000\000\000\000\003\000\000\000\000\000\000\000P\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\061", '\000' <repeats 15 times>, "[", '\000' <repeats 23 times>, "n\000\000\000w", '\000' <repeats 11 times>, "|\000\000\000\000\000\000\000 6\246\361\377\177\000\000(\000\000\000\000\000\000\000 6\246\361\377\177\000\000`\000\000\000\000\000\000\000`\211-\001\000\000\000\000\340\217-\001\000\000\000\000\272\062f\000\000\000\000\000@\306\377\377\377\177\000\000"...
        __orig_bailout = 0x7fffffffd530
        __bailout = {{__jmpbuf = {19086776, -6683551652063860026, 15102640, 15102680, 1, 18905024, -6683551655928911162, 6683552757057202886}, __mask_was_saved = 0, __saved_mask = {
              __val = {0, 0, 0, 0, 0, 0, 140737351957028, 0, 140737192263258, 0, 140737351925594, 19310528, 140737351957028, 8980960, 140737209659430, 1}}}}
        prepend_file_p = 0x0
        append_file_p = 0x0
        prepend_file = {handle = {fd = 0, fp = 0x0, stream = {handle = 0x0, isatty = 0, mmap = {len = 0, pos = 0, map = 0x0, buf = 0x0, old_handle = 0x0, old_closer = 0x0}, reader = 0x0,
              fsizer = 0x0, closer = 0x0}}, filename = 0x0, opened_path = 0x0, type = ZEND_HANDLE_FILENAME, free_filename = 0 '\000'}
        append_file = {handle = {fd = 0, fp = 0x0, stream = {handle = 0x0, isatty = 0, mmap = {len = 0, pos = 0, map = 0x0, buf = 0x0, old_handle = 0x0, old_closer = 0x0}, reader = 0x0,
              fsizer = 0x0, closer = 0x0}}, filename = 0x0, opened_path = 0x0, type = ZEND_HANDLE_FILENAME, free_filename = 0 '\000'}
        old_cwd = 0x7fffffffafe0 ""
        retval = 0
#14 0x0000000000907e9a in do_cli (argc=224, argv=0xffffffff) at /usr/src/php/sapi/cli/php_cli.c:974
        __bailout = {{__jmpbuf = {19201168, 6683551653244840646, 15105264, 140737488348856, 140737488348852, 18905024, -6683551652074345786, 6683552891216997062}, __mask_was_saved = 0,
            __saved_mask = {__val = {14994712, 14994736, 14868105, 14868126, 14994749, 14994769, 14994786, 14995350, 14994807, 14994821, 14994843, 14994862, 14994889, 14994918, 0,
                281479271743489}}}}
        file_handle = {handle = {fd = -299425776, fp = 0x7fffee272010, stream = {handle = 0x7fffee272010, isatty = 0, mmap = {len = 984, pos = 0, map = 0x7ffff7ff2000,
                buf = 0x7ffff7ff2000 <error: Cannot access memory at address 0x7ffff7ff2000>, old_handle = 0x137add0, old_closer = 0x8909b0 <zend_stream_stdio_closer>},
              reader = 0x8909e0 <zend_stream_stdio_reader>, fsizer = 0x890950 <zend_stream_stdio_fsizer>, closer = 0x8908d0 <zend_stream_mmap_closer>}},
          filename = 0x1233f50 "testoauth.php", opened_path = 0x0, type = ZEND_HANDLE_MAPPED, free_filename = 0 '\000'}
        request_started = 1
        exit_status = 0
        php_optarg = 0x0
        php_optind = 2
        arg_excp = 0x1233db8
        lineno = 1
#15 0x000000000044a347 in main (argc=224, argv=0xffffffff) at /usr/src/php/sapi/cli/php_cli.c:1344
---Type <return> to continue, or q <return> to quit---
        __bailout = {{__jmpbuf = {19201168, 6683551653244840646, 15105264, 140737488348856, 140737488348852, 18905024, -6683551653533963578, 6683551132453055174}, __mask_was_saved = 0,
            __saved_mask = {__val = {24, 19199120, 140737488349080, 0, 140737354130688, 140737488349024, 140737488349008, 4131212846, 4338960, 4294967295, 140737351949767,
                140737243832744, 140737354029528, 2, 140737243813544, 1}}}}
        c = -299429712
        php_optarg = 0x0
        php_optind = 1
        ini_ignore = 0



complete php -i output
----------------------

# php -i
phpinfo()
PHP Version => 7.0.14

System => Linux b2cf4f576b3b 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64
Build Date => Dec 20 2016 15:13:09
Configure Command =>  './configure'  '--build=x86_64-linux-gnu' '--prefix=/usr' '--with-config-file-path=/usr/etc/php' '--with-config-file-scan-dir=/usr/etc/php/conf.d' '--disable-debug' '--disable-cgi' '--without-pear' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-intl' '--enable-mbstring' '--enable-mysqlnd' '--enable-opcache' '--enable-shmop' '--enable-soap' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-wddx' '--enable-zip' '--enable-xml' '--with-bz2' '--with-curl' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-gmp=/usr' '--with-iconv' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-ldap' '--with-libxml-dir=/usr' '--with-mcrypt=/usr/bin/mcrypt' '--with-mhash' '--with-mysqli' '--with-openssl' '--with-pcre-regex' '--with-pdo-dblib=/usr/local' '--with-pdo-mysql=mysqlnd' '--with-pic' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--with-xsl' '--with-zlib' '--enable-cli' '--disable-fpm' 'build_alias=x86_64-linux-gnu'
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /usr/etc/php
Loaded Configuration File => (none)
Scan this dir for additional .ini files => /usr/etc/php/conf.d
Additional .ini files parsed => /usr/etc/php/conf.d/10_app.ini,
/usr/etc/php/conf.d/oauth.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 => disabled

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

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.14

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 => STDOUT => STDOUT
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 => On => On
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => /var/log/exported/php-error_log => /var/log/exported/php-error_log
error_prepend_string => no value => no value
error_reporting => no value => no value
exit_on_timeout => Off => Off
expose_php => On => On
extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20151012 => /usr/lib/php/extensions/no-debug-non-zts-20151012
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 => .: => .:
input_encoding => UTF-8 => UTF-8
internal_encoding => UTF-8 => UTF-8
log_errors => Off => Off
log_errors_max_len => 0 => 0
mail.add_x_header => Off => Off
mail.force_extra_parameters => no value => no value
mail.log => /var/log/exported/php_mail.log => /var/log/exported/php_mail.log
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 => 128M => 128M
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => UTF-8 => UTF-8
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 => no value => no value
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 => On => On
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 => 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 => EGPCS => EGPCS
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 => On => On
zend.script_encoding => UTF-8 => UTF-8

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 7.38.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 => Yes
SPNEGO => Yes
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => No
GSSAPI => Yes
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, scp, sftp, smtp, smtps, telnet, tftp
Host => x86_64-pc-linux-gnu
SSL Version => OpenSSL/1.0.1t
ZLib Version => 1.2.8
libSSH Version => libssh2/1.4.3

date

date/time support => enabled
"Olson" Timezone Database Version => 2016.9
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.1
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.5.2
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 6b
PNG Support => enabled
libPNG Version => 1.2.50
WBMP Support => enabled
XPM Support => enabled
libXpm Version => 30411
XBM Support => enabled

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

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.19

Directive => Local Value => Master Value
iconv.input_encoding => UTF-8 => UTF-8
iconv.internal_encoding => UTF-8 => UTF-8
iconv.output_encoding => UTF-8 => UTF-8

intl

Internationalization support => enabled
version => 1.1.0
ICU version => 52.1
ICU Data version => 52.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

ldap

LDAP Support => enabled
RCS Version => $Id: e384f3c044b57ae590d48d1349dc1c478db63a22 $
Total Links => 0/unlimited
API Version => 3001
Vendor Name => OpenLDAP
Vendor Version => 20440

Directive => Local Value => Master Value
ldap.max_links => Unlimited => Unlimited

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 => UTF-8 => UTF-8
mbstring.http_output => pass => pass
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => UTF-8 => UTF-8
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 arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
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 => 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 => pdo_mysql,mysqli

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

OAuth

OAuth support => enabled
PLAINTEXT support => enabled
RSA-SHA1 support => enabled
HMAC-SHA1 support => enabled
Request engine support => php_streams, curl
source version => $Id$
version => 2.0.2

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1t  3 May 2016
OpenSSL Header Version => OpenSSL 1.0.1t  3 May 2016
Openssl default config => /usr/lib/ssl/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 => no value => no value
pcre.recursion_limit => 100000 => 100000

PDO

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

pdo_dblib

PDO Driver for FreeTDS/Sybase DB-lib => enabled
Flavour => freetds

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 => /tmp/mysql.sock => /tmp/mysql.sock

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
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

posix

Revision => $Id: 771e31632526e20243748d73c150d8977fff1781 $

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 => On => On
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 => 100 => 100
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 1 => 1
session.hash_bits_per_character => 4 => 4
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 => /var/lib/php/session => /var/lib/php/session
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

soap

Soap Client => enabled
Soap Server => enabled

Directive => Local Value => Master Value
soap.wsdl_cache => 3 => 3
soap.wsdl_cache_dir => /tmp => /tmp
soap.wsdl_cache_enabled => 1 => 1
soap.wsdl_cache_limit => 64 => 64
soap.wsdl_cache_ttl => 86400 => 86400

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.14.2

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,form=,fieldset= => a=href,area=href,frame=src,form=,fieldset=
user_agent => no value => no value

sysvmsg

sysvmsg support => enabled
Revision => $Id: b291daed03ee2339361df6b8cd4d9f5eb4c76387 $

sysvsem

Version => 7.0.14

sysvshm

Version => 7.0.14

tokenizer

Tokenizer Support => enabled

wddx

WDDX Support => enabled
WDDX Session Serializer => enabled

xml

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

xmlreader

XMLReader => enabled

xmlwriter

XMLWriter => enabled

xsl

XSL => enabled
libxslt Version => 1.1.28
libxslt compiled against libxml Version => 2.9.1
EXSLT => enabled
libexslt Version => 1.1.28

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
LC_PAPER => en_IE.UTF-8
LC_ADDRESS => C.UTF-8
LC_MONETARY => C.UTF-8
HOSTNAME => b2cf4f576b3b
TERM => xterm
PHP_INI_DIR => /usr/etc/php
LC_NUMERIC => C.UTF-8
buildDeps =>          autoconf         automake         bison         byacc         bzip2         file         g++         gcc         lemon         libbz2-dev         libcurl4-openssl-dev         libfreetype6-dev         libgeoip-dev         libgmp3-dev         libjpeg-dev         libldap2-dev         libmcrypt-dev                libpcre3-dev         libpng-dev         libreadline6-dev         libsqlite3-dev         libssh2-1-dev         libssl-dev         libxml2-dev         libxpm-dev         libxslt-dev         libc-dev         make         pkg-config         re2c
LC_TELEPHONE => C.UTF-8
PHP_GPG_KEYS => 1A4E8B7277C42E53DBA9C7B9BCAA30EA9C0D5763 6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LC_MESSAGES => C.UTF-8
LC_COLLATE => C.UTF-8
PWD => /srv/www/web
PHP_BUILD_ARGS => --enable-cli --disable-fpm
LANG => en_US.UTF-8
LC_MEASUREMENT => en_IE.UTF-8
LC_RESPONSE => C.UTF-8
SHLVL => 1
HOME => /root
LANGUAGE => en_US.UTF-8
LC_CTYPE => C.UTF-8
DEBIAN_FRONTEND => noninteractive
LC_TIME => en_IE.UTF-8
PHP_VERSION => 7.0.14
_ => /usr/bin/php
OLDPWD => /srv/www/intern

PHP Variables

Variable => Value
$_SERVER['LC_PAPER'] => en_IE.UTF-8
$_SERVER['LC_ADDRESS'] => C.UTF-8
$_SERVER['LC_MONETARY'] => C.UTF-8
$_SERVER['HOSTNAME'] => b2cf4f576b3b
$_SERVER['TERM'] => xterm
$_SERVER['PHP_INI_DIR'] => /usr/etc/php
$_SERVER['LC_NUMERIC'] => C.UTF-8
$_SERVER['buildDeps'] =>          autoconf         automake         bison         byacc         bzip2         file         g++         gcc         lemon         libbz2-dev         libcurl4-openssl-dev         libfreetype6-dev         libgeoip-dev         libgmp3-dev         libjpeg-dev         libldap2-dev         libmcrypt-dev            libpcre3-dev         libpng-dev         libreadline6-dev         libsqlite3-dev         libssh2-1-dev         libssl-dev         libxml2-dev         libxpm-dev         libxslt-dev         libc-dev         make         pkg-config         re2c
$_SERVER['LC_TELEPHONE'] => C.UTF-8
$_SERVER['PHP_GPG_KEYS'] => 1A4E8B7277C42E53DBA9C7B9BCAA30EA9C0D5763 6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3
$_SERVER['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['LC_MESSAGES'] => C.UTF-8
$_SERVER['LC_COLLATE'] => C.UTF-8
$_SERVER['PWD'] => /srv/www/web
$_SERVER['PHP_BUILD_ARGS'] => --enable-cli --disable-fpm
$_SERVER['LANG'] => en_US.UTF-8
$_SERVER['LC_MEASUREMENT'] => en_IE.UTF-8
$_SERVER['LC_RESPONSE'] => C.UTF-8
$_SERVER['SHLVL'] => 1
$_SERVER['HOME'] => /root
$_SERVER['LANGUAGE'] => en_US.UTF-8
$_SERVER['LC_CTYPE'] => C.UTF-8
$_SERVER['DEBIAN_FRONTEND'] => noninteractive
$_SERVER['LC_TIME'] => en_IE.UTF-8
$_SERVER['PHP_VERSION'] => 7.0.14
$_SERVER['_'] => /usr/bin/php
$_SERVER['OLDPWD'] => /srv/www/intern
$_SERVER['PHP_SELF'] =>
$_SERVER['SCRIPT_NAME'] =>
$_SERVER['SCRIPT_FILENAME'] =>
$_SERVER['PATH_TRANSLATED'] =>
$_SERVER['DOCUMENT_ROOT'] =>
$_SERVER['REQUEST_TIME_FLOAT'] => 1482333419.1961
$_SERVER['REQUEST_TIME'] => 1482333419
$_SERVER['argv'] => Array
(
)

$_SERVER['argc'] => 0
$_ENV['LC_PAPER'] => en_IE.UTF-8
$_ENV['LC_ADDRESS'] => C.UTF-8
$_ENV['LC_MONETARY'] => C.UTF-8
$_ENV['HOSTNAME'] => b2cf4f576b3b
$_ENV['TERM'] => xterm
$_ENV['PHP_INI_DIR'] => /usr/etc/php
$_ENV['LC_NUMERIC'] => C.UTF-8
$_ENV['buildDeps'] =>          autoconf         automake         bison         byacc         bzip2         file         g++         gcc         lemon         libbz2-dev         libcurl4-openssl-dev         libfreetype6-dev         libgeoip-dev         libgmp3-dev         libjpeg-dev         libldap2-dev         libmcrypt-dev               libpcre3-dev         libpng-dev         libreadline6-dev         libsqlite3-dev         libssh2-1-dev         libssl-dev         libxml2-dev         libxpm-dev         libxslt-dev         libc-dev         make         pkg-config         re2c
$_ENV['LC_TELEPHONE'] => C.UTF-8
$_ENV['PHP_GPG_KEYS'] => 1A4E8B7277C42E53DBA9C7B9BCAA30EA9C0D5763 6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3
$_ENV['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_ENV['LC_MESSAGES'] => C.UTF-8
$_ENV['LC_COLLATE'] => C.UTF-8
$_ENV['PWD'] => /srv/www/web
$_ENV['PHP_BUILD_ARGS'] => --enable-cli --disable-fpm
$_ENV['LANG'] => en_US.UTF-8
$_ENV['LC_MEASUREMENT'] => en_IE.UTF-8
$_ENV['LC_RESPONSE'] => C.UTF-8
$_ENV['SHLVL'] => 1
$_ENV['HOME'] => /root
$_ENV['LANGUAGE'] => en_US.UTF-8
$_ENV['LC_CTYPE'] => C.UTF-8
$_ENV['DEBIAN_FRONTEND'] => noninteractive
$_ENV['LC_TIME'] => en_IE.UTF-8
$_ENV['PHP_VERSION'] => 7.0.14
$_ENV['_'] => /usr/bin/php
$_ENV['OLDPWD'] => /srv/www/intern

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.
 [2017-03-28 10:19 UTC] beganovic dot emir at gmail dot com
The segfault doesn't occur anymore with PHP 7.1.3.
The test script now throws exception as expected (OAuthException):

 Uncaught OAuthException: Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a redirect)
 [2018-04-17 18:16 UTC] martin dot zwickel at efficient dot it
I get out of memory exceptions when using OPCache + PHP 7.1.16 and the OAuth 2.0.2 under Ubuntu 16.04:

PHP Fatal error:  Allowed memory size of 805306368 bytes exhausted (tried to allocate 12383783844356333714 bytes) in .../oauth.php
PHP Fatal error:  Allowed memory size of 805306368 bytes exhausted (tried to allocate 9230944994605164725 bytes) in .../oauth.php

This is the "special" code:
                $this->_oAuth = new \OAuth($key, $secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_AUTHORIZATION);
                $this->_oAuth->disableSSLChecks();
                $this->_oAuth->setToken($token, $tokensecret);

                $this->oAuth->fetch($requestUrl, json_encode($postData), OAUTH_HTTP_METHOD_POST, array('Content-Type' => 'application/json'));
                $response = $this->oAuth->getLastResponse();

Just does an API request to magento.

PHP Version: 7.1.16-1+ubuntu16.04.1+deb.sury.org+1

Only blacklisting the file that use OAuth helps. Or disabling OPCache completely.

Will there be a bug fix release?
 [2019-01-24 21:06 UTC] james at dunarri dot com
Is this project even active? Can't believe it's been over 2 years and this issue still persists (now on PHP 7.1.26)!
I had used the opcache blacklist file suggested and happily went on my way and forgot about this bug only to be bitten by it again when I renamed one of the blacklisted files.
 [2019-02-06 15:48 UTC] lenormand dot sbn at gmail dot com
this bug still persists with php7.2.10 and Uservoice. The solution for me is to uncomment the line 'opcache.enable = 0' in the file php.ini or used 'phpdismod opcache'. Is there any other way to get around it?
 [2021-07-27 11:32 UTC] cmb@php.net
-Status: Open +Status: Feedback -Assigned To: +Assigned To: cmb
 [2021-07-27 11:32 UTC] cmb@php.net
Does this still happen with any of the actively supported PHP
versions[1] and latest oauth (2.0.7)?

[1] <php.net/supported-versions.php>
 [2021-08-08 04:22 UTC] pecl-dev at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
 [2022-01-02 15:12 UTC] php at amberon dot ru
Reproduced on php 8.0.13 + oauth 2.0.7
 [2022-01-03 09:20 UTC] cmb@php.net
-Package: oauth +Package: *General Issues
 [2022-01-03 09:20 UTC] cmb@php.net
Please report oauth related issues at
<https://github.com/php/pecl-web_services-oauth/issues>.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 28 10:01:26 2024 UTC