Я также установил удлинитель механизма передач и инструмент командной строки. Я попытался изменить строку с помощью ретранслятора из простого файла php.Как запустить команды exec()/linux с использованием расширения gearman от приложения cakephp?
Example:
$gmclient= new GearmanClient();
$gmclient->addServer();
$result = $gmclient->doNormal("reverse", "Test the reverse string");
echo "Success: $result\n";
output:
Success: gnirts esrever eht tseT
Точно так же я попытался запустить EXEC («Ls -l»), я могу выполнить, используя простые PHP файлы из CakePHP приложения из каталога Webroot. filepath: cakephp/app/webroot/worker.php, cakephp/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);
?>
Как реализовать тот же тип исполнения с использованием View, Controller от cakephp? Рабочий процесс: отправьте данные с View на контроллер с помощью ajax-метода и выполните «exec() от gearman», отправьте вывод обратно в View как ответ ajax POST methodhod.
Kris @ Спасибо за ответ. Но мне нужны некоторые данные для обработки кода client.php из представления в контроллер. Пример: Пользователь будет загружать данные и использовать данные ajax post для функции контроллера и запускать код client.php. – Dollyh