{"id":20934384,"url":"https://github.com/loveorigami/yii2-webshell","last_synced_at":"2026-04-15T13:31:24.576Z","repository":{"id":62519282,"uuid":"137201541","full_name":"loveorigami/yii2-webshell","owner":"loveorigami","description":null,"archived":false,"fork":false,"pushed_at":"2019-06-07T06:45:30.000Z","size":9,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-30T22:32:59.525Z","etag":null,"topics":["shell","yii2"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loveorigami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-13T10:39:42.000Z","updated_at":"2019-06-07T06:45:32.000Z","dependencies_parsed_at":"2022-11-02T13:46:11.703Z","dependency_job_id":null,"html_url":"https://github.com/loveorigami/yii2-webshell","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/loveorigami/yii2-webshell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loveorigami%2Fyii2-webshell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loveorigami%2Fyii2-webshell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loveorigami%2Fyii2-webshell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loveorigami%2Fyii2-webshell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loveorigami","download_url":"https://codeload.github.com/loveorigami/yii2-webshell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loveorigami%2Fyii2-webshell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31842842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["shell","yii2"],"created_at":"2024-11-18T22:09:09.405Z","updated_at":"2026-04-15T13:31:24.559Z","avatar_url":"https://github.com/loveorigami.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yii2-webshell\n\nIt is a [fork from] (https://github.com/asinfotrack/yii2-webshell)\n\nYii2-Webshell allows you to execute any shell command from a web-interface. This is especially useful\nto call console-commands from the frontend. The execution is done via AJAX and a special action-class\n(`ShellAction`).\n\nThe output of the shell action __is displayed live__ (line by line). \n\n\n## Installation\nThe preferred way to install this extension is through [composer](http://getcomposer.org/download/).\n\n\t\"loveorigami/yii2-webshell\": \"*\"\n\n###### ShellAction\n\nThis is the action you can attach to any controller via its `actions()`-method. Here you define who and who\nthe action can be accessed. All the regular RBAC-controls are of course available.\n\nThe following is an example for a configuration calling a yii-console-command under windows:\n\n```php\n\nclass MyController extends \\yii\\web\\Controller\n{\n\n\t//...\n\t\n\tpublic function actions()\n\t{\n\t\treturn [\n\t\t\t'my-shell-action'=\u003e[\n\t\t\t\t'class'=\u003e'lo\\wshell\\actions\\ShellAction',\n\t\t\t\t'command'=\u003e'my-console-command/index',\n\t\t\t\t'yiiScript'=\u003e'@app/yii',\n\t\t\t],\n\t\t];\n\t}\n\t\n\t//...\n\n}\n\n```\n\n### Widgets\n\n###### ShellWidget\n\nThe widget allows you to create a console like container in your views, which communicates with a `ShellAction`\nas documented above. The following represents a full configuration:\n\n```php\necho Button::widget([\n\t'label'=\u003e'Run', \n\t'options'=\u003e[\n\t\t'data-shell-widget-run'=\u003e'my-shell-widget',\n\t],\n]) \n\necho ShellWidget::widget([\n\t'id'=\u003e'my-shell-widget',\n\t'route'=\u003e['my-controller/my-shell-action'],\n\t'autorun'=\u003efalse,\n\t'initialContent'=\u003eYii::t('app', 'Ready and waiting...'),\n\t'clientOptions'=\u003e[\n        //custom client options here\n\t],\n]) \n```\n\nAs you can see, the console can either be ran automatically or not. In any case you can create buttons which will then\ntrigger the action. To do so simply use the attribute `data-shell-widget-run` and fill it with the id of the `ShellWidget`.\nYou can customize all the js-options (including the attribute name) with the `clientOptions` property of the widget.\n\nFor a full documentation of the widgets possibilities check out the doc within its code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floveorigami%2Fyii2-webshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floveorigami%2Fyii2-webshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floveorigami%2Fyii2-webshell/lists"}