Exec с In Yii2

Я работаю над проектом с использованием фреймворка PHP и Yii2. У него есть задача, которая требует много запросов для получения данных через API, и для этого требуется всего одна минута. Чтобы избежать ожидания пользователя, я попытался использовать функцию exec () и перенаправить вывод в другой файл. Чтобы сделать лучше UX

Я попробовал этот код в отдельных файлах PHP (за пределами Yii), и он отлично работает.

exec("php process.php > output.php 2>&1 & echo $!", $output);

как только я попытался выполнить его в Yii, используя следующее, он не работает.

public function actionIndex() {
$url = Url::to(['user/dofile'], TRUE);
exec("php $url > testoutput.php 2>&1 & echo $!", $output);
return $this->render('index');
}

Появляется ошибка

Could not open input file: http://localhost/weez/frontend/web/index.php?r=user%2Fdofile

Есть ли способ заставить его работать в действиях Yii?

Есть ли альтернативные способы сделать это

Спасибо

3

Решение

Вы не можете выполнить как php $url и ожидаем, что php проанализирует его. пытаться curl -O $url,

Но лучше дополнить исходную проблему («избегайте ожидания пользователя»), попробуйте реализовать «очередь».

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]