PHP 7.4 excludes the arguments from stack traces by default.

That leads to a false positive is not setup via query() but directly warning for every app because
the check does not work anymore.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
This commit is contained in:
Daniel Kesselberg 2020-04-30 15:27:52 +02:00
parent 0fc2dd85b5
commit cba7219b25
No known key found for this signature in database
GPG Key ID: 36E3664E099D0614
1 changed files with 4 additions and 1 deletions

View File

@ -77,7 +77,10 @@ class App {
* @since 6.0.0
*/
public function __construct(string $appName, array $urlParams = []) {
if (\OC::$server->getConfig()->getSystemValueBool('debug')) {
$runIsSetupDirectly = \OC::$server->getConfig()->getSystemValueBool('debug')
&& (PHP_VERSION_ID < 70400 || (PHP_VERSION_ID >= 70400 && !ini_get('zend.exception_ignore_args')));
if ($runIsSetupDirectly) {
$applicationClassName = get_class($this);
$e = new \RuntimeException('App class ' . $applicationClassName . ' is not setup via query() but directly');
$setUpViaQuery = false;