Download the PHP package soliphp/console without Composer

On this page you can find all versions of the php package soliphp/console. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package console

Soli PHP Console

Soli Console Component.

Table of Contents

安装

使用 composer 进行安装:

composer require soliphp/console

使用

如下我们编写 task.php 文件,内容为:

  1. 执行 Task 类中的 index 方法:

  2. 执行 Task 类中的 handle 方法:

  3. 命令行输入的参数将按顺序作为 action 的参数传入,例如输入两个参数 hulk绿巨人 执行:

将输出:

编写多进程终端命令程序

Soli Console 结合 Soli Process 可以让我们以编写终端命令程序的方式编写多进程程序, 同时复用项目中的已有的 Model / Service 等代码。

注意这里的多进程只支持在 Unix-like 系统下运行。

文件位置 examples/app/Console/Proc2.php,内容为:

与多进程相关的属性:

属性名称 类型 默认值 描述
runnable bool false 这个属性决定了action是否以多进程方式运行
name string '' 进程名称,只在 Linux 系统下起作用
count int 1 进程数
daemonize bool false 是否以守护进程方式运行
refork bool true 是否自动补充退出的进程
logFile string null 记录进程的输出、终止等信息的文件路径

设置 runnabletrue 时,action 以多进程方式运行,$worker 参数将成为 action 的第一个参数,$worker 参数之后是从命令行输入的参数

设置 daemonize 属性为 true 时,将以守护进程的方式运行,所有输出内容将被重定向到 logFile 属性所指定的文件, 未指定 logFile 属性时,输出内容将会被丢弃。

设置 refork 属性为 true 时,可以在进程退出(如程序出现异常)后自动补充新的进程。

下面执行 Proc2 类中的各个 action 方法,看看实际的执行效果:

  1. 执行 Proc2 类中的 command 方法:

将输出:

  1. 执行 Proc2 类中的 process 方法:

将输出类似以下内容(原始信息还会有进程启动、退出等相关信息,这里为了便于阅读,只贴出了 worker 进程中的输出信息):

action 以多进程方式运行时:$worker 参数将成为 action 的第一个参数,$worker 参数之后是从命令行输入的参数, 如这里的方法定义,从第二个参数开始才是从终端输入的参数:

public function process(\Soli\Process $worker, $name = 'wukong')
  1. 执行 Proc2 类中的 daemonize 方法:

将输出:

程序以守护进程的方式运行时,所有输出内容将被重定向到 logFile 属性所指定的文件,

查看 /tmp/soli-console-proc2.log 的文件内容为(原始信息还会有进程启动、退出等相关信息,这里为了便于阅读,只贴出了 worker 进程中的输出信息):

  1. 执行 Proc2 类中的 refork 方法:

将输出类似以下内容(原始信息还会有其他进程启动、退出等相关信息,这里为了便于阅读,只贴出了 1 号 worker 进程的相关信息):

设置 refork 属性为 true 时,可以在进程退出后自动补充新的进程。当程序需要保持进程数,而由于异常进程被退出时,refork 将相当有用。

可以看到 worker:1 每次在执行完毕退出进程后,就会有新的进程 fork 出来,进行补充,保持进程数。

示例

在 examples 文件夹下提供了一个带目录结构的终端命令示例,感兴趣的同学可以直接翻看。

examples
├── app
│   └── Console
│       ├── Proc.php     > proc  命令使用 \Soli\Process 多进程的原始类文件
│       ├── Proc2.php    > proc2 命令结合 \Soli\Process 使用多进程的类文件
│       └── Task.php     > task 命令类文件
├── bootstrap.php        > 配置一些引导信息
└── console              > 入口文件

运行方法:

$ cd /path/to/soliphp/console/
$ composer install
$ php examples/console task
$ php examples/console task:handle

License

MIT License


All versions of console with dependencies

PHP Build Version
Package Version
Requires php Version >=7.0
soliphp/framework Version ^2.0
soliphp/process Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package soliphp/console contains the following files

Loading the files please wait ....