]> source.dussan.org Git - nextcloud-server.git/commitdiff
PHP 7.4 excludes the arguments from stack traces by default.
authorDaniel Kesselberg <mail@danielkesselberg.de>
Thu, 30 Apr 2020 13:27:52 +0000 (15:27 +0200)
committerDaniel Kesselberg <mail@danielkesselberg.de>
Thu, 30 Apr 2020 15:00:56 +0000 (17:00 +0200)
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>
lib/public/AppFramework/App.php

index fa97dab2a3ff4217c55bb922dbbd1950ea6de919..016ef5a0318c8333eb749fa8cdf12726cb9edec8 100644 (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;