From: Daniel Kesselberg Date: Thu, 30 Apr 2020 13:27:52 +0000 (+0200) Subject: PHP 7.4 excludes the arguments from stack traces by default. X-Git-Tag: v19.0.0beta7~7^2~1 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=cba7219b2541c35de574c2a8924a5451a253a8bb;p=nextcloud-server.git 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 --- diff --git a/lib/public/AppFramework/App.php b/lib/public/AppFramework/App.php index fa97dab2a3f..016ef5a0318 100644 --- a/lib/public/AppFramework/App.php +++ b/lib/public/AppFramework/App.php @@ -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;