FIX Separate out all command components so Solr_Reindex works in dev mode.

This commit is contained in:
GuySartorelli 2022-01-26 15:37:07 +13:00 committed by GitHub
parent 355e928ec9
commit b1675d4df1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 6 deletions

View File

@ -77,15 +77,12 @@ class SolrReindexImmediateHandler extends SolrReindexBase
$indexClass = get_class($indexInstance);
// Build script parameters
$indexClassEscaped = $indexClass;
$statevar = json_encode($state);
if (strpos(PHP_OS, "WIN") !== false) {
$statevar = '"' . str_replace('"', '\\"', $statevar) . '"';
} else {
$statevar = "'" . $statevar . "'";
$class = addslashes($class);
$indexClassEscaped = addslashes($indexClass);
}
$php = Environment::getEnv('SS_PHP_BIN') ?: Config::inst()->get(static::class, 'php_bin');
@ -93,11 +90,12 @@ class SolrReindexImmediateHandler extends SolrReindexBase
// Build script line
$frameworkPath = ModuleLoader::getModule('silverstripe/framework')->getPath();
$scriptPath = sprintf("%s%scli-script.php", $frameworkPath, DIRECTORY_SEPARATOR);
$scriptTask = "{$php} {$scriptPath} dev/tasks/{$taskName}";
$cmd = [
$scriptTask,
"index={$indexClassEscaped}",
$php,
$scriptPath,
"dev/tasks/{$taskName}",
"index={$indexClass}",
"class={$class}",
"group={$group}",
"groups={$groups}",