Выполнение команды через shell_exec Drupal 8

Главные вкладки

Аватар пользователя Junnior Junnior 12 августа 2019 в 9:34

Добрый день. У меня такая проблема. Создал форму, которая по нажатию кнопки должна запускать команду через drupal console. При нажатии приходит сообщение, что кнопку нажали, но ничего не происходит. Через htop не вижу нужный процесс который должен был запустится. Подскажите пожалуйста, в чём может быть проблема?
Вот код формы:

<?php

namespace Drupal\custom\Form;

use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;

class ValidateProductsForm extends FormBase {

    public function getFormId() {
        return 'validate_products_form';
    }

    public function buildForm(array $form, FormStateInterface $form_state) {

        $form['submit'] = [
            '#type' => 'submit',
            '#value' => 'Запустить проверку каталога',
            '#button_type' => 'primary',
        ];

        return $form;        
       
    }

    public function submitForm(array &$form, FormStateInterface $form_state) {

        shell_exec('drupal custom:validate_products');
        $messenger = \Drupal::messenger();
        $messenger->addMessage('Процесс запущен.');
       
    }
}

Комментарии

Аватар пользователя Junnior Junnior 12 августа 2019 в 9:53

Проверял что получается через dpm()

К примеру, если написать: $output = shell_exec('ls');
dpm($output) отработает нормально.

Если написать: $output = shell_exec('drupal');
dpm($output) на выходе получается NULL.