Bug #78101 [Opn]: Incorrect behaviour for substr on Windows

From: Date: Fri, 12 Jul 2019 15:04:10 +0000
Subject: Bug #78101 [Opn]: Incorrect behaviour for substr on Windows
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-221723@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78101&edit=1

 ID:                 78101
 Updated by:         nikic@php.net
 Reported by:        mishamosher at gmail dot com
 Summary:            Incorrect behaviour for substr on Windows
 Status:             Open
 Type:               Bug
 Package:            opcache
 Operating System:   Windows 10 1903 64-bits
 PHP Version:        7.2.19
 Block user comment: N
 Private report:     N

 New Comment:

I want to check back whether this issue still exists in PHP 7.2.20. The 7.2.19 release had some
serious issues with opcache and it may be that this is a side-effect of the same problems.


Previous Comments:
------------------------------------------------------------------------
[2019-06-04 21:59:49] cmb@php.net

Related To: Bug #78106

------------------------------------------------------------------------
[2019-06-04 17:59:21] mishamosher at gmail dot com

Hello cmb@php.net,

Results with OPCache on:
string(6) "2f6573" string(2) "ff"

Results with OPCache off:
string(6) "2f6573" string(2) "2f"

------------------------------------------------------------------------
[2019-06-04 09:02:49] cmb@php.net

Please run the following variation of your script, and report the
results:

    <?php
    $in = "/es";
    $out = substr($in, 0, 1);
    var_dump(bin2hex($in), bin2hex($out));
    ?>

------------------------------------------------------------------------
[2019-06-04 01:56:44] requinix@php.net

If removing opcache makes your problem go away then this may be a bug after all.

------------------------------------------------------------------------
[2019-06-04 01:00:35] mishamosher at gmail dot com

Hello subjective@php.net,

Are your results from running the script with PHP as an Apache module?

I've thoroughly tried over and over again, and no matter what, I always get the wrong results.

var_dump reports <<string(3) "/es">>.

I've been able to pin-point the issue to the OPCache extension. If I simply remove
"zend_extension=opcache" from php.ini, everything works as it should.

Please note that I'm experiencing this issue only with PHP 7.2.19 when it is working as an
Apache module.

I can use PHP 7.2.11, 5.6.40, 7.3.6, etc., with OPCache enabled and everything works OK in there.

As a final note, what can I do to 'ring' attention to an existing filed bug? It is about
this one: https://bugs.php.net/bug.php?id=77014
- at least to know if it is a bug or intended behaviour.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

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


--
Edit this bug report at https://bugs.php.net/bug.php?id=78101&edit=1


Thread (11 messages)

« previous php.bugs (#221723) next »