So führen Sie den Konsolenbefehl in yii2 über das Web aus

8

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.

    
saran varma 14.12.2015, 10:15
quelle

5 Antworten

4

Es kann viel einfacher gemacht werden

%Vor%

Github LINK

    
Maksym Semenykhin 01.11.2016 07:20
quelle
2

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%     
Krzysztof Gał 16.01.2016 16:46
quelle
1

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!

    
WeSee 02.01.2016 18:17
quelle
0

Ich denke, das ist die einfachste Lösung:

%Vor%     
ESCOBAR 07.06.2017 09:45
quelle
0

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%     
Gajen Sunthara 07.06.2017 17:14
quelle

Tags und Links