In "array_mergev()", guarantee the "call_user_func_array()" parameter list is a natrual list
Summary:
Ref T13588. The behavior of "call_user_func_array()" has changed in PHP8, and the function now attempts to use array keys as argument names.
This always fails when calling "array_merge()" (which does not accept named parameters), and may cause misbehavior in the general case.
Guarantee the argument is a natural list (with keys "0", "1", "2", ...).
Test Plan:
- Behavior unchanged under PHP7.
- User reports fixed behavior under PHP8, see https://discourse.phabricator-community.org/t/daemon-fails-on-php-8-0-2-in-utils-php-array-merge-call-w-fix/4568.
- See T13588.
Maniphest Tasks: T13588
Differential Revision: https://secure.phabricator.com/D21551