Я хочу запустить консольное приложение отправки почты из внешнего интерфейса. Я пытался с помощью этот расширение, но оно не работает.
namespace console\controllers;
use Yii;
/**
* Console controller
*/
class ConsoleController extends \yii\console\Controller
{
public function actionSendMail()
{
Yii::$app->mailer->compose()
->setFrom('[email protected]')
->setTo('[email protected]')
->setSubject('Message subject')
->setTextBody('Plain text content')
->setHtmlBody('<b>HTML content</b>')
->send();
}
}
Из командной строки я могу использовать yii console/send-mail
и работает нормально.
Но как я могу запустить вышеупомянутую команду в контроллере внешнего интерфейса?
Не работает, потому что https://github.com/vova07/yii2-console-runner-extension/blob/master/ConsoleRunner.php#L63 PHP_BINDIR
в моем компьютере значение ‘C \ php’. Но на моем компьютере PHP не устанавливается в директорию ‘C \ php’. Ты можешь:
1) Создайте папку ‘C \ php’ и вставьте php.exe
в этот каталог.
2) Или добавить PHP_BINDIR
переменная в Environment variables
(как это — http://www.itechtalk.com/thread3595.html) и укажите свой правильный путь к php.exe
, И перезагрузите компьютер.
На моем компьютере я запускаю первый шаг и запускаю Yii::$app->consoleRunner->run('hello/some-action')
в SiteControler
и это нормально работает.
Других решений пока нет …