Ich habe auch das Befehlszeilentool von gamingman extension und von gearman installiert. Ich habe versucht, eine Zeichenfolge mit Gearman aus einfachen PHP-Datei umzukehren.Wie exec()/linux Befehle mit der gearman Erweiterung von CakePHP Anwendung ausführen?
Example:
$gmclient= new GearmanClient();
$gmclient->addServer();
$result = $gmclient->doNormal("reverse", "Test the reverse string");
echo "Success: $result\n";
output:
Success: gnirts esrever eht tseT
In gleicher Weise habe ich versucht, exec (‚ls -l‘), ich bin in der Lage auszuführen mit einfachen PHP-Dateien aus CakePHP Anwendung von Webroot-Verzeichnis auszuführen. Dateipfad: cake.php/app/webroot/worker.php, cake.php/app/webroot/client.php.
worker.php
<?php
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("exec", "executeScript");
while ($worker->work());
function executeScript($job)
{
$param = $job->workload();
$t = exec($param);
return $t;
}
?>
client.php
<?php
$client= new GearmanClient();
$client->addServer();
$cmd = 'ls -l';
print $client->do("exec", $cmd);
?>
Wie implementiert man die gleiche Art der Ausführung mit View, Controller von CakePHP? Arbeitsablauf: Veröffentlichen Sie Daten von View to Controller mit der Ajax-Methode und führen Sie "exec() from gearman" aus, senden Sie die Ausgabe an View als Antwort von ajax POST method zurück.
Kris @ Thankyou für die Antwort. Aber ich brauche einige Daten, um den client.php-Code von der Ansicht zum Controller zu verarbeiten. Beispiel: Der Benutzer lädt Daten hoch und verwendet ajax Post-Daten zur Controller-Funktion und führt den client.php-Code aus. – Dollyh