Noch eine Ergänzung, der "normale Aufruf"
sudo -u www-data php console.php -uxxxxxxx -pxxxxxxxx --tenantId 1 --ldapServerId 1
funktioniert, allerdings werden meine Mappings aus der ini-Datei natürlich nicht mitgezogen.
Der PHP-Fehler tritt immer dann auf, sobald ich die ini-Datei einbinde. Ich habe auch schon versucht, nur den [additional]-Teil in der ini zu lassen und den Rest (User, Tenant usw.) im Command mitzugeben.
Es endet aber alles immer wieder in dem Fehler, dass hier der Datentyp nicht stimmen soll:
if (!empty($config)) {
if (!file_exists($config)) {
$event->getOutput()
->writeln("<fg=yellow>Config file not found</>");
$configData = [];
} else {
$event->getOutput()
->writeln('<info>Processing config file</info>');
$configData = parse_ini_file($config, true, INI_SCANNER_RAW);
}
$definition = $command->getDefinition();
if (array_key_exists('commandArguments', $configData)) {
$this->advancedIniParsing($configData['commandArguments']);
foreach ($configData['commandArguments'] as $key => $value) {
$input->setArgument($key, $value);
$definition->getArgument($key)->setDefault($value);
}
}
if (array_key_exists('commandOptions', $configData)) {
$this->advancedIniParsing($configData['commandOptions']);
foreach ($configData['commandOptions'] as $key => $value) {
$input->setOption($key, $value);
$definition->getOption($key)->setDefault($value);
}
}
if (array_key_exists('additional', $configData)) {
$this->advancedIniParsing($configData['additional']);
$command->setConfig($configData['additional']);
}
Immer in der Zeile "if (array_key_exists(....))" ist angeblich $configData ein Bool, kein Array.