From: Robin McCorkell Date: Fri, 9 Jan 2015 13:13:02 +0000 (+0000) Subject: Memcache binary executable searching X-Git-Tag: v8.0.0alpha2~13^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c29138311614cba8bc4699a0afa485aefe621b6b;p=nextcloud-server.git Memcache binary executable searching It's slow, this makes it fast! --- diff --git a/lib/private/helper.php b/lib/private/helper.php index 8e9b7d3b6f3..86cc0850bc3 100644 --- a/lib/private/helper.php +++ b/lib/private/helper.php @@ -882,13 +882,19 @@ class OC_Helper { * @return null|string */ public static function findBinaryPath($program) { + $memcache = \OC::$server->getMemCacheFactory()->create('findBinaryPath'); + if ($memcache->hasKey($program)) { + return $memcache->get($program); + } + $result = null; if (!\OC_Util::runningOnWindows() && self::is_function_enabled('exec')) { exec('command -v ' . escapeshellarg($program) . ' 2> /dev/null', $output, $returnCode); if ($returnCode === 0 && count($output) > 0) { - return escapeshellcmd($output[0]); + $result = escapeshellcmd($output[0]); } } - return null; + $memcache->set($program, $result, 3600); + return $result; } /**