Ich habe einen Konsolenbefehl in console/controllers
mit SuggestionController
erstellt.
Wenn ich einen Befehl wie php yii suggestions
ausführe, funktioniert es.
Ich möchte wissen, wie man Konsolenbefehle aus dem Internet ohne Erweiterungen von yii2
ausführt.
So habe ich vor einiger Zeit gefunden und benutzt, um yii console controller / action auszuführen (ich habe das für Laufmigrationen aus dem Web verwendet).
In Ihrer Web-Controller-Aktion:
%Vor% Sie können entweder exec()
Ihren Befehl '' 'php yii suggestions''' eingeben, dies kann jedoch zu Berechtigungsproblemen mit dem Webserver-Benutzer führen.
Der bessere Weg ist die Verwendung einer ConsoleRunner-Erweiterung, z. yii2-console-runner oder yii2-console-runner-extension , die den job control job mit popen()
etwas anspruchsvoller und sicherer machen.
Achten Sie immer auf Code-Injektionen, wenn Sie exec()
und ähnliches ausführen!
Ab Yii2 - 2.0.11.2 erweiterte App - das funktioniert
Zuerst sollten wir sicherstellen, dass Controller und Namespace korrekt sind. In diesem Fall die Import-Methode der Frontend-App, die auf die Konsolenanwendung zugreift ()
In der Konsole \ controllers \ FhirController
Stellen Sie den Alias so ein, dass er in der Konsole \ config \ main.php [OPTIONAL]
verfügbar ist %Vor%Machen Sie den Aufruf schließlich in der Frontend-Ansicht wie folgt: Rufen Sie in diesem Fall die Controller-Route fhir auf und importieren Sie dann die Methode import ()
%Vor%