dev-master
9999999-devYii2-Webshell allows you to execute any shell command from a web-interface.
MIT
The Requires
- php >=5.4.0
- yiisoft/yii2 2.0.*
- symfony/process 3.1.*
yii2 console bundle widget web process shell windows linux action
Yii2-Webshell allows you to execute any shell command from a web-interface.
It is a [fork from] (https://github.com/asinfotrack/yii2-webshell), (*1)
Yii2-Webshell allows you to execute any shell command from a web-interface. This is especially useful
to call console-commands from the frontend. The execution is done via AJAX and a special action-class
(ShellAction
)., (*2)
The output of the shell action __is displayed live__ (line by line)., (*3)
The preferred way to install this extension is through composer., (*4)
"loveorigami/yii2-webshell": "*"
This is the action you can attach to any controller via its actions()
-method. Here you define who and who
the action can be accessed. All the regular RBAC-controls are of course available., (*5)
The following is an example for a configuration calling a yii-console-command under windows:, (*6)
class MyController extends \yii\web\Controller { //... public function actions() { return [ 'my-shell-action'=>[ 'class'=>'lo\wshell\actions\ShellAction', 'command'=>'my-console-command/index', 'yiiScript'=>'@app/yii', ], ]; } //... }
The widget allows you to create a console like container in your views, which communicates with a ShellAction
as documented above. The following represents a full configuration:, (*7)
echo Button::widget([ 'label'=>'Run', 'options'=>[ 'data-shell-widget-run'=>'my-shell-widget', ], ]) echo ShellWidget::widget([ 'id'=>'my-shell-widget', 'route'=>['my-controller/my-shell-action'], 'autorun'=>false, 'initialContent'=>Yii::t('app', 'Ready and waiting...'), 'clientOptions'=>[ //custom client options here ], ])
As you can see, the console can either be ran automatically or not. In any case you can create buttons which will then
trigger the action. To do so simply use the attribute data-shell-widget-run
and fill it with the id of the ShellWidget
.
You can customize all the js-options (including the attribute name) with the clientOptions
property of the widget., (*8)
For a full documentation of the widgets possibilities check out the doc within its code., (*9)
Yii2-Webshell allows you to execute any shell command from a web-interface.
MIT
yii2 console bundle widget web process shell windows linux action