it-swarm.com.de

Führen Sie den Drush-Befehl von devel / php drupal aus) aus

Kann mir bitte jemand sagen, wie ich den Drush-Befehl von devel/php ausführen kann?

Ich kann PHP Codes von devel/php ausführen. Aber ich weiß nicht, wie ich den Drush-Befehl von devel/php ausführen kann. (Wie wir wissen, kommt die URL "devel/php" vom Entwicklungsmodul ).

Ich habe einen benutzerdefinierten Drush-Befehl für Cron-Zwecke geschrieben. Ich kann diese Befehle über die Befehlszeile ausführen.

> drush my-cmd or drush cc all or drush status , etc ... I can run it through command line.

Erwarten Sie, dass einige der unten genannten Funktionen von devel/php ausgeführt werden

some_function("drush cc all");
9
kalidasan

Jemand hat versucht, ein Modul zu erstellen, um Shell-Zugriff von einer Drupal - Site aus zu ermöglichen, aber es wurde nie vollständig debuggt. Siehe das Drupal Terminal -Projekt. Möglicherweise wurden Fortschritte erzielt im jQuery-Terminal, das es möglicherweise einfacher macht, dies zum Laufen zu bringen, wenn jemand es erneut besucht.

Wenn Sie Drush aus PHP heraus ausführen möchten, ist es im Allgemeinen besser, drush_invoke_process() als exec("drush ...") zu verwenden.

$values = drush_invoke_process("@site", "cc", array("all"), array("verbose"));

Wenn Sie nur einen einmaligen Befehl ausführen und sich nicht um die Befehlsergebnisse kümmern, ist exec("drush ...") jedoch in Ordnung.

11
greg_1_anderson

Wie kalidasan vorschlägt, können Sie die Funktion exec () verwenden, um Folgendes zu tun:

exec("drush fra -y", $output); var_dump($output);

Normalerweise führt devel diesen Befehl dort aus, wo sich die settings.php befindet. Wenn Sie eine benutzerdefinierte Architektur mit mehreren Standorten haben und den Drush-Befehl von einem anderen Pfad aus ausführen müssen, können Sie Befehle (mit dem Semikolon ";") verketten Greifen Sie auf den richtigen Pfad zu und führen Sie den Drush-Befehl aus:

exec("cd {absolute or relative path to your settings.php site}; drush fra -y;", $output); var_dump($output);

Manchmal ist das Ausführen von Drush-Befehlen von devel/php hilfreich, wenn Sie Funktionen von drush ausführen müssen, aber keinen Zugriff auf die Befehlszeilen-Shell oder die Berechtigung zum Ausführen haben.

Hinweis: Ich habe "drush fra" nur als Beispiel verwendet, es kann mit jedem anderen drush-Befehl verwendet werden.

6
gerzenstl

Endlich Lösung gefunden. Shell_exec ("Drush-Status") funktioniert einwandfrei.

enter image description here

5
kalidasan

Drush ist eine Befehlszeilen-Shell und nix-Scripting Schnittstelle für Drupal.

Sie müssen haben Shell-Zugriff, um die Befehle drush auszuführen.

2
shrish