How to enable message delivery
By default, the extension sends notifications through a background process that is launched by cron and requires the PHP function exec to be enabled. If this function is disabled on the server, messages will not be delivered.
1. Check if exec is available for PHP (CLI)
Run the following command as the same user that runs cron/Magento to see if exec is disabled:
php -i | grep disable_functions
Or use the command below to output the full list of disabled functions:
php -r 'echo ini_get("disable_functions"), PHP_EOL;'
If exec appears in the list, it is disabled for CLI, and background processes will not run.
2. Enable the exec function
Enable the exec function in the PHP (CLI) configuration by removing it from disable_functions, then restart cron if required. Alternatively, ask your server administrator or hosting provider to do this.
If enabling exec is not possible, you need to add a direct cron job to start the message subscriber. Open the crontab:
crontab -e
And add the following line and save cron tab:
* * * * * path_to_php_binary magento_install_dir/bin/magento mirasvit:message-queue:subscribe >> /var/log/mirasvit_message_queue.log 2>&1
Where:
path_to_php_binary: the full path to the PHP executable.magento_install_dir: the path to the Magento installation root.- The log is redirected to
/var/log/mirasvit_message_queue.logso you can verify that it is running (you may choose a different log path).
After enabling exec or adding the cron job, the subscriber will start correctly, and messages will be delivered to the selected recipients.