Benutzer erstellen via PHP Script
am 21.11.2022 - 11:33 Uhr in
Guten Tag, ich bin neu hier und hoffe, für meine Frage das richtige Forum gewählt zu haben.
Ich habe ein Problem mit einem PHP Script, mit welchem ich User im Batchbetrieb erstellen möchte.
Ich starte das Script dabei direkt auf dem WebServer (#php script.php). Verschiedene andere Scripts (die allerdings nur Daten holen) laufen auf diese Art bereits.
Das UserCreate Script sieht dabei so aus:
<?php
include '../initDrupal9.php';
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
$user = \Drupal\user\Entity\User::create();
// Mandatory.
$user->setPassword('password');
$user->enforceIsNew();
$user->setEmail('createusertest@iiag.ch');
$user->setUsername('createusertest@iiag.ch');
$user->activate();
$result = $user->save();
?>
Der Inhalt der initDrupal9.php sieht so aus:
<?php
use Drupal\Core\DrupalKernel;
use Drupal\Core\Site\Settings;
$autoloader = require_once 'autoload.php';
//Drupal Initialisierung
//----------------------
$DrupalKernel = new DrupalKernel('prod', $autoloader);
$DrupalKernel->setSitePath('sites/default');
$appRoot = $DrupalKernel->getAppRoot();
//echo $appRoot . "\n";
Settings::initialize($appRoot, 'sites/default', $autoloader);
$DrupalKernel->boot();
//----------------------
?>
Der Fehler, den ich bekomme:
PHP Fatal error: Uncaught Error: Call to undefined function Drupal\language\language_get_default_langcode() in
/var/www/vhosts/xyztest.ch/httpdocs/sitegav/core/modules/language/src/DefaultLanguageItem.php:46
Die Suche in Google brachte auf einen einzigen Beitrag, in welchem sinngemäss steht, dass wohl Drupal (oder das Language Modul) noch nicht ganz geladen ist.
Hat jemand eine Idee, wie ich allenfalls das Init-Script ergänzen muss? Oder eine andere Idee wie ich das hinkriege?
Danke, Thomas
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 3 Tagen 4 Stunden
vor 3 Tagen 6 Stunden
vor 3 Tagen 6 Stunden
vor 3 Tagen 6 Stunden
vor 4 Tagen 4 Stunden
vor 4 Tagen 6 Stunden
vor 5 Tagen 2 Stunden
vor 5 Tagen 20 Stunden
vor 5 Tagen 21 Stunden
vor 6 Tagen 18 Minuten