[Process] Fix #9343 : revert file handle usage on Windows platform
bug #9354 [2.2][Process] Fix #9343 : revert file handle usage on Windows platform (romainneutron)

This PR was merged into the 2.2 branch.

Discussion
----------

[2.2][Process] Fix #9343 : revert file handle usage on Windows platform

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9343
| License       | MIT

Hello,

I propose to revert the use of file handles only for `STDOUT` on Windows platform (see implementation in 2.2.6 [here](https://github.com/symfony/symfony/blob/4059720232e8c4acce6ca31627b87b904cf1aa77/src/Symfony/Component/Process/Process.php#L231-L242)).

When I decoupled pipes management from `Process` in #8924, I used file handles for both `STDOUT` and `STDERR`. This was an error as it introduced random failure in reading the handles (reported as [PHP#65650](https://bugs.php.net/bug.php?id=65650)).

Reverting to the previous implementation solves the issue. My apologies for the issues it introduced.

Versions that have been affected by the bug are 2.2.7, 2.2.8, 2.2.9, 2.3.4, 2.3.5 and 2.3.6.

Side note : I thought about testing the file handles implementation on *nix, but it fails most of the time where as Windows is okay. Unit testing on windows is okay (AbstractProcessTest::testProcessPipes tests it), but I don't provide a travis compatible test.

Commits
-------

e9dd408 [Process] Fix #9343 : revert file handle usage on Windows platform