Я пытаюсь использовать Capifony с моим веб-приложением в Symfony2.1, чтобы ускорить процесс развертывания. Вот мой файл deploy.rb: default_run_options[:pty] = true set :application, "mywebsite" set :domain, "mywebsite.com" set :deploy_to, "~/git/mywebsite.git" set :app_path, "app" set :repository, "git@github.com:myname/mywebsite.git" set :scm, :git # Or: `accurev`, `bzr`, `cvs`, `darcs`, `subversion`, `mercurial`, `perforce`, or `none` set :user, "myserveruser" # The server's […]
Я создаю фоновый процесс, используя proc_open() и мне интересно, как отменить или остановить этот фоновый процесс, из другого файла или действия, в то время как мой фоновый процесс все еще работает? Вот мой код: $errorLog = './error.log'; $descriptorspec = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from […]
Привет, я запускаю процесс с popen; $handle = popen('python scriptos.py', "r"); while (!feof($handle)) { $data = fgets($handle); echo "> ".$data; } И я получаю только 3 строки из процесса, который возвращает 5 строк. Я запустил эту точную команду в CLi, и я получу больше ответа. Это похоже на то, что он перестает читать на ранней […]
Руководство proc_open PHP гласит: Номера дескрипторов файлов не ограничены 0, 1 и 2 – вы можете указать любой допустимый номер дескриптора файла, и он будет передан дочернему процессу. Это позволяет вашему сценарию взаимодействовать с другими сценариями, которые запускаются как «совместные процессы». В частности, это полезно для передачи парольных фраз в такие программы, как PGP, GPG […]
Я пытаюсь выполнить скрипт perl из PHP-скрипта. У меня была эта работа с использованием различных методов, таких как exec, popen и proc_open, но у меня есть пара проблем, вокруг которых старый добрый Google не дает мне ответов. Мне нужно запустить скрипт .pl (передав одну переменную скрипту, который является числом) из файла php, но остановите PHP-скрипт […]
Нужна помощь в реализации следующего. У меня есть программный файл C следующим образом: #include <stdio.h> main() { int x; int args; printf("Enter an integer: "); if (( args = scanf("%d", &x)) == 0) { printf("Error: not an integer\n"); } else { printf("Read in %d\n", x); } if (( args = scanf("%d", &x)) == 0) { […]
Я хотел бы, чтобы выход одного процесса, созданного с помощью proc_open, был передан в другой, созданный с помощью proc_open (в php). Например. В bash я могу сделать: [herbert@thdev1 ~]$ cat foo 2 3 1 [herbert@thdev1 ~]$ cat foo | sort 1 2 3 [herbert@thdev1 ~]$ Я хотел бы имитировать это в php, используя proc_open (вместо […]
Предупреждение: proc_open (): Отсутствует спецификатор дескриптора в массиве в C: \ … \ updatedots.php в строке 102 Я пытаюсь открыть блокнот, закрыв его через 2 секунды. Это мой код: $descriptorspec = array( 0 => array("pipe" => "r"), 1 => array("pipe" => "w"), 2 => array("file" => "logs/errors.txt") ); // Create child and start process $child […]
Я попытался получить выход из метода proc_open в php, но, когда я его распечатаю, я получил пустой. $ descriptorspec = array ( 0 => array ("pipe", "r"), 1 => массив ("труба", "w"), 2 => массив («файл», «файлы / temp / error-output.txt», «a») ); $ process = proc_open («время ./a a.out», $ descriptorspec, $ pipes, $ […]
Проблема Я использовал функцию, которая использовала proc_open() для вызова команд оболочки. Кажется, что я делал STDIO неправильно, а иногда вызывал PHP или целевую команду для блокировки. Это исходный код: function execute($cmd, $stdin=null){ $proc=proc_open($cmd,array(0=>array('pipe','r'),1=>array('pipe','w'),2=>array('pipe','w')),$pipes); fwrite($pipes[0],$stdin); fclose($pipes[0]); $stdout=stream_get_contents($pipes[1]); fclose($pipes[1]); $stderr=stream_get_contents($pipes[2]); fclose($pipes[2]); return array( 'stdout'=>$stdout, 'stderr'=>$stderr, 'return'=>proc_close($proc) ); } устройство function execute($cmd, $stdin=null){ $proc=proc_open($cmd,array(0=>array('pipe','r'),1=>array('pipe','w'),2=>array('pipe','w')),$pipes); fwrite($pipes[0],$stdin); fclose($pipes[0]); $stdout=stream_get_contents($pipes[1]); fclose($pipes[1]); […]