php-pm / php-pm-httpkernel

HttpKernel adapter for use of Symfony and Laravel frameworks with PHP-PM
MIT License
246 stars 72 forks source link

An uploaded file must be an array or an instance of UploadedFile #111

Closed bratao closed 6 years ago

bratao commented 6 years ago

Hello,

I tried to do a regular post to a laravel instance and the Uploading is failing with:

--- Worker 5523 stderr --- string(6371) "InvalidArgumentException: An uploaded file must be an array or an instance of UploadedFile. in /var/www/vendor/symfony/http-foundation/FileBag.php:49 Stack trace:

0 /var/www/vendor/symfony/http-foundation/FileBag.php(61): Symfony\Component\HttpFoundation\FileBag->set('documento', NULL)

1 /var/www/vendor/symfony/http-foundation/FileBag.php(40): Symfony\Component\HttpFoundation\FileBag->add(Array)

2 /var/www/vendor/symfony/http-foundation/FileBag.php(31): Symfony\Component\HttpFoundation\FileBag->replace(Array)

3 /var/www/vendor/symfony/http-foundation/Request.php(277): Symfony\Component\HttpFoundation\FileBag->__construct(Array)

4 /var/www/vendor/symfony/http-foundation/Request.php(255): Symfony\Component\HttpFoundation\Request->initialize(Array, Array, Array, Array, Array, Array, Object(RingCentral\Psr7\BufferStream))

5 /var/php-pm/vendor/php-pm/httpkernel-adapter/Bridges/HttpKernel.php(195): Symfony\Component\HttpFoundation\Request->__construct(Array, Array, Array, Array, Array, Array, Object(RingCentral\Psr7\BufferStream))

6 /var/php-pm/vendor/php-pm/httpkernel-adapter/Bridges/HttpKernel.php(78): PHPPM\Bridges\HttpKernel->mapRequest(Object(React\Http\Io\ServerRequest))

7 /var/php-pm/src/ProcessSlave.php(429): PHPPM\Bridges\HttpKernel->handle(Object(React\Http\Io\ServerRequest))

8 /var/php-pm/src/ProcessSlave.php(390): PHPPM\ProcessSlave->handleRequest(Object(React\Http\Io\ServerRequest))

9 /var/php-pm/vendor/react/http/src/Io/MiddlewareRunner.php(49): PHPPM\ProcessSlave->onRequest(Object(React\Http\Io\ServerRequest))

10 /var/php-pm/vendor/react/http/src/Io/MiddlewareRunner.php(54): React\Http\Io\MiddlewareRunner->call(Object(React\Http\Io\ServerRequest), 3)

11 /var/php-pm/vendor/react/http/src/Middleware/RequestBodyParserMiddleware.php(31): React\Http\Io\MiddlewareRunner->React\Http\Io{closure}(Object(React\Http\Io\ServerRequest))

12 /var/php-pm/vendor/react/http/src/Io/MiddlewareRunner.php(59): React\Http\Middleware\RequestBodyParserMiddleware->__invoke(Object(React\Http\Io\ServerRequest), Object(Closure))

13 /var/php-pm/vendor/react/http/src/Io/MiddlewareRunner.php(54): React\Http\Io\MiddlewareRunner->call(Object(React\Http\Io\ServerRequest), 2)

14 /var/php-pm/vendor/react/http/src/Middleware/RequestBodyBufferMiddleware.php(58): React\Http\Io\MiddlewareRunner->React\Http\Io{closure}(Object(React\Http\Io\ServerRequest))

15 /var/php-pm/vendor/react/promise/src/FulfilledPromise.php(25): React\Http\Middleware\RequestBodyBufferMiddleware->React\Http\Middleware{closure}('---------------...')

16 /var/www/vendor/react/promise/src/Promise.php(119): React\Promise\FulfilledPromise->then(Object(Closure), Object(Closure))

17 /var/www/vendor/react/promise/src/Promise.php(166): React\Promise\Promise->React\Promise{closure}(Object(React\Promise\FulfilledPromise))

18 /var/www/vendor/react/promise/src/Promise.php(133): React\Promise\Promise->settle(Object(React\Promise\FulfilledPromise))

19 /var/www/vendor/react/promise/src/Promise.php(201): React\Promise\Promise->resolve('---------------...')

20 /var/php-pm/vendor/react/promise/src/FulfilledPromise.php(39): React\Promise\Promise->React\Promise{closure}('---------------...')

21 /var/www/vendor/react/promise/src/Promise.php(120): React\Promise\FulfilledPromise->done(Object(Closure), Object(Closure), Object(Closure))

22 /var/www/vendor/react/promise/src/Promise.php(166): React\Promise\Promise->React\Promise{closure}(Object(React\Promise\FulfilledPromise))

23 /var/www/vendor/react/promise/src/Promise.php(133): React\Promise\Promise->settle(Object(React\Promise\FulfilledPromise))

24 /var/www/vendor/react/promise/src/Promise.php(201): React\Promise\Promise->resolve('---------------...')

25 /var/php-pm/vendor/react/promise-stream/src/functions.php(43): React\Promise\Promise->React\Promise{closure}('---------------...')

26 /var/php-pm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Promise\Stream{closure}()

27 /var/php-pm/vendor/react/http/src/Io/HttpBodyStream.php(80): Evenement\EventEmitter->emit('close')

28 /var/php-pm/vendor/react/http/src/Io/HttpBodyStream.php(179): React\Http\Io\HttpBodyStream->close()

29 /var/php-pm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\Io\HttpBodyStream->handleEnd()

30 /var/php-pm/vendor/react/http/src/Io/LengthLimitedStream.php(87): Evenement\EventEmitter->emit('end')

31 /var/php-pm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\Io\LengthLimitedStream->handleData('---------------...')

32 /var/php-pm/vendor/react/http/src/Io/CloseProtectionStream.php(96): Evenement\EventEmitter->emit('data', Array)

33 /var/php-pm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\Io\CloseProtectionStream->handleData('---------------...')

34 /var/php-pm/vendor/react/http/src/StreamingServer.php(179): Evenement\EventEmitter->emit('data', Array)

35 /var/php-pm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\StreamingServer->React\Http{closure}(Object(React\Http\Io\ServerRequest), '---------------...')

36 /var/php-pm/vendor/react/http/src/Io/RequestHeaderParser.php(59): Evenement\EventEmitter->emit('headers', Array)

37 /var/php-pm/vendor/react/http/src/Io/RequestHeaderParser.php(47): React\Http\Io\RequestHeaderParser->parseAndEmitRequest(1784)

38 /var/php-pm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\Io\RequestHeaderParser->feed('POST /adicionar...')

39 /var/php-pm/vendor/react/stream/src/Util.php(71): Evenement\EventEmitter->emit('data', Array)

40 /var/php-pm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Stream\Util::React\Stream{closure}('POST /adicionar...')

41 /var/php-pm/vendor/react/stream/src/DuplexResourceStream.php(193): Evenement\EventEmitter->emit('data', Array)

42 [internal function]: React\Stream\DuplexResourceStream->handleData(Resource id #4233)

43 /var/php-pm/vendor/react/event-loop/src/StreamSelectLoop.php(238): call_user_func(Array, Resource id #4233)

44 /var/php-pm/vendor/react/event-loop/src/StreamSelectLoop.php(205): React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)

45 /var/php-pm/src/ProcessSlave.php(349): React\EventLoop\StreamSelectLoop->run()

46 /tmp/dbgVVVNpm(36): PHPPM\ProcessSlave->run()

47 {main}"

andig commented 6 years ago

Looks like a bug in the httpkernel bridge. Could you share a simple app for testing this?