2013-12-22 2 views
-2

Я использовал shell_exec команды для параллельного выполнения PHP скрипта так:Переменные не работают с помощью shell_exec для выполнения фоновой

shell_exec("echo \"<?php require_once 'path/to/function.php'; DBTest::function2('f2-2');?>\" | php >/dev/null 2>&1 & "); 

Этой работа правильно, поставить таким образом, я не могу использовать переменный, как это :

shell_exec("echo \"<?php require_once 'path/to/function.php'; $s =25 ; DBTest::function2('f2-2');?>\" | php >/dev/null 2>&1 & "); 

не выполняется! Может помочь?

ответ

0

Поскольку ваша строка находится в двойных кавычках, ваш $ расширяется, прежде чем он будет передан shell_exec. См. string parsing.

побег с обратной косой черты:

shell_exec("echo \"<?php require_once 'path/to/function.php'; \$s =25 ; DBTest::function2('f2-2');?>\" | php >/dev/null 2>&1 & "); 

В оболочке, $ также особый характер. Я не уверен, что вам нужно убежать от него во второй раз для оболочки.

+0

спасибо., Это работает –

Смежные вопросы