PHPackages                             php-opcua/opcua-cli - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. php-opcua/opcua-cli

ActiveLibrary[CLI &amp; Console](/categories/cli)

php-opcua/opcua-cli
===================

CLI tool for OPC UA — browse, read, write, watch, discover endpoints, manage certificates, and generate code from NodeSet2.xml

v4.4.0(4w ago)015↓80%1MITPHPPHP ^8.2CI passing

Since Mar 26Pushed 4w ago1 watchersCompare

[ Source](https://github.com/php-opcua/opcua-cli)[ Packagist](https://packagist.org/packages/php-opcua/opcua-cli)[ Docs](https://github.com/php-opcua/opcua-cli)[ RSS](/packages/php-opcua-opcua-cli/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (7)Dependencies (11)Versions (9)Used By (1)

**OPC UA CLI**
==============

[](#opc-ua-cli)

    ![OPC UA CLI](assets/logo-light.svg)

 [![Tests](https://camo.githubusercontent.com/bea112412e7228a74a5490d9002aa37af938c1315a1cb467500af630076fae2a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7068702d6f706375612f6f706375612d636c692f74657374732e796d6c3f6272616e63683d6d6173746572266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/php-opcua/opcua-cli/actions/workflows/tests.yml) [![Coverage](https://camo.githubusercontent.com/439c6ce88fd0db97bc5fdbb2b5c97497d2caf6f63588dd44f4659e78b87f3e9e/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f7068702d6f706375612f6f706375612d636c693f7374796c653d666c61742d737175617265266c6f676f3d636f6465636f76)](https://codecov.io/gh/php-opcua/opcua-cli) [![Latest Version](https://camo.githubusercontent.com/1ac6569e12f05d2f2ef54842539826f5067ce3cea35f295c00c979554230d999/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7068702d6f706375612f6f706375612d636c693f7374796c653d666c61742d737175617265266c6162656c3d7061636b6167697374)](https://packagist.org/packages/php-opcua/opcua-cli) [![PHP Version](https://camo.githubusercontent.com/e3c6e8dcfbea2ec1a642dea0004f8a30815401b27653244f7d12002f574c94d6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f7068702d6f706375612f6f706375612d636c693f7374796c653d666c61742d737175617265)](https://packagist.org/packages/php-opcua/opcua-cli) [![License](https://camo.githubusercontent.com/2edc16fabbdc6e8834c340b2f440474a72a8fd3fccebd165738608d8be3fa565/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7068702d6f706375612f6f706375612d636c693f7374796c653d666c61742d737175617265)](LICENSE)

 [![Linux](https://camo.githubusercontent.com/88a96af546255df6414fb878e65861f03abd9cd7c69fe0c652b32d10e1dc2b84/68747470733a2f2f637573746f6d2d69636f6e2d6261646765732e64656d6f6c61622e636f6d2f62616467652f4c696e75782de29c932d3265613434663f7374796c653d666c61742d737175617265266c6f676f3d6c696e7578266c6f676f436f6c6f723d7768697465)](https://camo.githubusercontent.com/88a96af546255df6414fb878e65861f03abd9cd7c69fe0c652b32d10e1dc2b84/68747470733a2f2f637573746f6d2d69636f6e2d6261646765732e64656d6f6c61622e636f6d2f62616467652f4c696e75782de29c932d3265613434663f7374796c653d666c61742d737175617265266c6f676f3d6c696e7578266c6f676f436f6c6f723d7768697465) [![macOS](https://camo.githubusercontent.com/9abd62edee5c8e38df116839daa54deb7e5b2054d4bcb856529f5cd92ada8b74/68747470733a2f2f637573746f6d2d69636f6e2d6261646765732e64656d6f6c61622e636f6d2f62616467652f6d61634f532de29c932d3265613434663f7374796c653d666c61742d737175617265266c6f676f3d6170706c65266c6f676f436f6c6f723d7768697465)](https://camo.githubusercontent.com/9abd62edee5c8e38df116839daa54deb7e5b2054d4bcb856529f5cd92ada8b74/68747470733a2f2f637573746f6d2d69636f6e2d6261646765732e64656d6f6c61622e636f6d2f62616467652f6d61634f532de29c932d3265613434663f7374796c653d666c61742d737175617265266c6f676f3d6170706c65266c6f676f436f6c6f723d7768697465) [![Windows](https://camo.githubusercontent.com/67b9f3090b3bbef27712496e616a0a0f0ead78d1a3a092a80b74df716dda8a6b/68747470733a2f2f637573746f6d2d69636f6e2d6261646765732e64656d6f6c61622e636f6d2f62616467652f57696e646f77732de29c932d3265613434663f7374796c653d666c61742d737175617265266c6f676f3d77696e646f77733131266c6f676f436f6c6f723d7768697465)](https://camo.githubusercontent.com/67b9f3090b3bbef27712496e616a0a0f0ead78d1a3a092a80b74df716dda8a6b/68747470733a2f2f637573746f6d2d69636f6e2d6261646765732e64656d6f6c61622e636f6d2f62616467652f57696e646f77732de29c932d3265613434663f7374796c653d666c61742d737175617265266c6f676f3d77696e646f77733131266c6f676f436f6c6f723d7768697465)

---

Command-line tool for OPC UA servers. Browse, read, write, watch, interactively explore, discover endpoints, manage certificates, and generate PHP code from NodeSet2.xml -- all from the terminal.

Built on top of [`php-opcua/opcua-client`](https://github.com/php-opcua/opcua-client), the pure PHP OPC UA client.

 [![opcua-cli explore demo](assets/explorer-command.gif)](assets/explorer-command.gif)

Installation
------------

[](#installation)

### Standalone binary (no PHP required)

[](#standalone-binary-no-php-required)

Pre-built, self-contained executables are published on every tag release. No PHP installation, no `composer`, no `php.ini`, no extensions — one file.

```
# Linux x86_64
curl -LO https://github.com/php-opcua/opcua-cli/releases/latest/download/opcua-cli-linux-x86_64
chmod +x opcua-cli-linux-x86_64
./opcua-cli-linux-x86_64 --version

# Linux aarch64 (ARM: Raspberry Pi, AWS Graviton, industrial edge gateways)
curl -LO https://github.com/php-opcua/opcua-cli/releases/latest/download/opcua-cli-linux-aarch64
chmod +x opcua-cli-linux-aarch64

# macOS arm64 (Apple Silicon — M1/M2/M3/M4)
curl -LO https://github.com/php-opcua/opcua-cli/releases/latest/download/opcua-cli-macos-arm64
chmod +x opcua-cli-macos-arm64
xattr -cr opcua-cli-macos-arm64     # clear Gatekeeper quarantine — see note below

# Windows x86_64 (experimental since v4.3.0 — may be missing from some releases, see note below)
curl.exe -LO https://github.com/php-opcua/opcua-cli/releases/latest/download/opcua-cli-windows-x86_64.exe
opcua-cli-windows-x86_64.exe --version
```

Each release also ships `SHA256SUMS.txt`; verify with `sha256sum --check SHA256SUMS.txt` (Linux/macOS) or `Get-FileHash -Algorithm SHA256` (PowerShell).

The binaries bundle PHP 8.4, the statically linked OpenSSL (with full ECC curve support including `brainpoolP256r1/P384r1`), and the compiled `opcua-cli` — built via [static-php-cli](https://github.com/crazywhalecc/static-php-cli) + [Box](https://github.com/box-project/box).

> **macOS note — unsigned binaries.** The macOS artefact (v4.3.0 and v4.4.0) is **not** code-signed or notarized. On first launch Gatekeeper will refuse to run it ("cannot be opened because the developer cannot be verified"). Strip the quarantine flag with `xattr -cr ` as shown above, or open the binary once via *System Settings → Privacy &amp; Security → Open Anyway*. Code-signing + notarization is tracked for v4.4.0.

> **Intel Mac (`macos-x86_64`) not shipped.** GitHub retired the free `macos-13` runner pool during 2025, so a native Intel build is no longer producible on CI without a paid runner. Intel Mac users should install via Composer (`composer global require php-opcua/opcua-cli`) or build from source — see [`docs/building/static-binary.md`](docs/building/static-binary.md). Note that the Apple Silicon binary (`macos-arm64`) **will not** run on Intel Macs: Rosetta 2 translates x86\_64 → arm64, not the reverse.

> **Windows note — experimental.** The `windows-x86_64.exe` leg of the release workflow runs with `continue-on-error: true`, so a release is published even if the Windows build fails. If the `.exe` is not listed on a given release page, the Windows build did not complete successfully that cycle — use [`docs/building/static-binary.md`](docs/building/static-binary.md) to produce it locally, or wait for the next release. Windows promotion to first-class support is tracked for v4.4.0.

Need a binary for a platform not in the list above (Alpine/musl, a different PHP or extension set)? See [`docs/building/static-binary.md`](docs/building/static-binary.md) — step-by-step instructions for reproducing the build locally.

### Via Composer

[](#via-composer)

```
composer require php-opcua/opcua-cli
```

The binary is installed at `vendor/bin/opcua-cli`.

For global installation:

```
composer global require php-opcua/opcua-cli
```

Quick Start
-----------

[](#quick-start)

```
# Discover what's available
opcua-cli endpoints opc.tcp://localhost:4840

# Browse the address space
opcua-cli browse opc.tcp://localhost:4840

# Read a value
opcua-cli read opc.tcp://localhost:4840 "i=2259"

# Write a value
opcua-cli write opc.tcp://localhost:4840 "ns=2;i=1001" 42 --type=Int32

# Watch a value in real time
opcua-cli watch opc.tcp://localhost:4840 "ns=2;i=1001"
```

Commands
--------

[](#commands)

### `browse` -- Browse the address space

[](#browse----browse-the-address-space)

```
opcua-cli browse opc.tcp://localhost:4840
opcua-cli browse opc.tcp://localhost:4840 /Objects/MyPLC
opcua-cli browse opc.tcp://localhost:4840 "ns=2;i=1000"
opcua-cli browse opc.tcp://localhost:4840 /Objects --recursive --depth=3
opcua-cli browse opc.tcp://localhost:4840 /Objects --json
```

```
├── Server (i=2253) [Object]
├── MyPLC (ns=2;i=1000) [Object]
│   ├── Temperature (ns=2;i=1001) [Variable]
│   └── Pressure (ns=2;i=1002) [Variable]
└── DeviceSet (ns=3;i=5001) [Object]

```

OptionDescription`--recursive`Browse recursively (tree view)`--depth=N`Maximum depth for recursive browse (default: 3)### `read` -- Read a node value

[](#read----read-a-node-value)

```
opcua-cli read opc.tcp://localhost:4840 "i=2259"
opcua-cli read opc.tcp://localhost:4840 "ns=2;i=1001" --attribute=DisplayName
opcua-cli read opc.tcp://localhost:4840 "ns=2;i=1001" --json
```

```
NodeId:     ns=2;i=1001
Attribute:  Value
Value:      23.5
Type:       Double
Status:     Good (0x00000000)
Source:     2026-03-24T15:30:00+00:00
Server:     2026-03-24T15:30:00+00:00

```

OptionDescription`--attribute=NAME`Attribute to read: Value (default), DisplayName, BrowseName, DataType, NodeClass, Description, AccessLevel, NodeId### `write` -- Write a value to a node

[](#write----write-a-value-to-a-node)

```
opcua-cli write opc.tcp://localhost:4840 "ns=2;i=1001" 42
opcua-cli write opc.tcp://localhost:4840 "ns=2;i=1001" 42 --type=Int32
opcua-cli write opc.tcp://localhost:4840 "ns=2;i=2000" true --type=Boolean
```

OptionDescription`--type=TYPE`Explicit OPC UA type: Boolean, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Float, Double, String### `endpoints` -- Discover server endpoints

[](#endpoints----discover-server-endpoints)

```
opcua-cli endpoints opc.tcp://localhost:4840
```

```
Endpoint: opc.tcp://localhost:4840
Security: None (mode: None)
Auth:     Anonymous, UserName

Endpoint: opc.tcp://localhost:4840
Security: Basic256Sha256 (mode: SignAndEncrypt)
Auth:     Anonymous, UserName, Certificate

Endpoint: opc.tcp://localhost:4840
Security: ECC_nistP256 (mode: SignAndEncrypt)
Auth:     Anonymous, UserName

```

### `watch` -- Watch a value in real time

[](#watch----watch-a-value-in-real-time)

```
# Subscription mode (default) -- server pushes changes
opcua-cli watch opc.tcp://localhost:4840 "ns=2;i=1001"

# Polling mode -- read every 250ms
opcua-cli watch opc.tcp://localhost:4840 "ns=2;i=1001" --interval=250
```

```
[15:30:00.123] 23.5
[15:30:00.625] 23.6
[15:30:01.127] 23.4
^C

```

### `explore` -- Interactive TUI browser

[](#explore----interactive-tui-browser)

Full-screen terminal UI to walk the address space without typing commands. Tree on the left, details pane on the right (with live Value / Status / Source timestamp for Variables), log pane at the bottom.

```
opcua-cli explore opc.tcp://localhost:4840
opcua-cli explore opc.tcp://localhost:4840 -u operator -p operator123
```

KeyAction`↑` / `↓`Move selection`→` / `Enter`Expand node (browse children)`←`Collapse or jump to parent`r`Refresh the Value of the selected Variable`q` / `Esc`Quit**Platform support.** `explore` currently runs on Linux and macOS. Windows support is coming soon.

**Flags.** `--json` and `--debug` are rejected (they would corrupt the interactive screen). Use `--debug-stderr` or `--debug-file=` if you need logs while `explore` is running.

### `generate:nodeset` -- Generate PHP classes from NodeSet2.xml

[](#generatenodeset----generate-php-classes-from-nodeset2xml)

```
opcua-cli generate:nodeset path/to/Opc.Ua.Di.NodeSet2.xml \
  --output=src/Generated/Di/ --namespace=App\\OpcUa\\Di
```

Generates:

- **NodeId constants** -- one class with all node IDs as string constants
- **PHP enums** -- `BackedEnum` for each OPC UA enumeration type
- **DTOs** -- readonly classes with typed properties for structured DataTypes
- **Codecs** -- `ExtensionObjectCodec` implementations for binary encoding/decoding
- **Registrar** -- batch-registers all codecs with the client

OptionDescription`--output=PATH`Output directory (default: `./generated/`)`--namespace=NS`PHP namespace (default: `Generated\\OpcUa`)No server connection required -- reads the XML file locally.

### `dump:nodeset` -- Export server address space to NodeSet2.xml

[](#dumpnodeset----export-server-address-space-to-nodeset2xml)

```
opcua-cli dump:nodeset opc.tcp://192.168.1.100:4840 --output=MyPLC.NodeSet2.xml
opcua-cli dump:nodeset opc.tcp://192.168.1.100:4840 --output=MyPLC.NodeSet2.xml --namespace=2
```

OptionDescription`--output=FILE`Output XML file path (required)`--namespace=N`Export only this namespace index (default: all non-zero)The exported file can be fed directly to `generate:nodeset`.

### `trust` -- Trust a server certificate

[](#trust----trust-a-server-certificate)

```
opcua-cli trust opc.tcp://server:4840 --trust-store=~/.opcua
```

### `trust:list` -- List trusted certificates

[](#trustlist----list-trusted-certificates)

```
opcua-cli trust:list --trust-store=~/.opcua
```

### `trust:remove` -- Remove a trusted certificate

[](#trustremove----remove-a-trusted-certificate)

```
opcua-cli trust:remove ab:cd:12:34:... --trust-store=~/.opcua
```

OptionDescription`--trust-store=`Custom trust store path`--trust-policy=`Validation policy (fingerprint, fingerprint+expiry, full)`--no-trust-policy`Disable trust validation for this commandSecurity Options
----------------

[](#security-options)

All commands support full security configuration — **10 policies** (6 RSA + 4 ECC), 3 modes, 3 auth methods:

```
# Username/password authentication
opcua-cli read opc.tcp://server:4840 "i=2259" -u admin -p secret

# Full security with RSA certificates
opcua-cli read opc.tcp://server:4840 "i=2259" \
  --security-policy=Basic256Sha256 \
  --security-mode=SignAndEncrypt \
  --cert=/path/to/client.pem \
  --key=/path/to/client.key \
  --ca=/path/to/ca.pem \
  -u operator -p secret

# ECC security (auto-generated ECC certificate)
opcua-cli read opc.tcp://server:4840 "i=2259" \
  --security-policy=ECC_nistP256 \
  --security-mode=SignAndEncrypt \
  -u operator -p secret
```

OptionShortDescription`--security-policy=``-s`None, Basic128Rsa15, Basic256, Basic256Sha256, Aes128Sha256RsaOaep, Aes256Sha256RsaPss, ECC\_nistP256, ECC\_nistP384, ECC\_brainpoolP256r1, ECC\_brainpoolP384r1`--security-mode=``-m`None, Sign, SignAndEncrypt`--cert=`Client certificate path`--key=`Client private key path`--ca=`CA certificate path`--username=``-u`Username`--password=``-p`Password`--timeout=``-t`Connection timeout (default: 5)> **ECC disclaimer:** ECC security policies (`ECC_nistP256`, `ECC_nistP384`, `ECC_brainpoolP256r1`, `ECC_brainpoolP384r1`) are fully implemented and tested against the OPC Foundation's UA-.NETStandard reference stack. However, no commercial OPC UA vendor supports ECC endpoints yet. When using ECC, client certificates are auto-generated if `--cert`/`--key` are omitted, and username/password authentication uses the `EccEncryptedSecret` protocol automatically.

Output Options
--------------

[](#output-options)

### JSON

[](#json)

Add `--json` (or `-j`) to any command for machine-readable output:

```
opcua-cli browse opc.tcp://localhost:4840 --json | jq '.[].name'
opcua-cli read opc.tcp://localhost:4840 "i=2259" --json | jq '.Value'
```

### Debug Logging

[](#debug-logging)

```
# Log to stdout (incompatible with --json)
opcua-cli read opc.tcp://localhost:4840 "i=2259" --debug

# Log to stderr (compatible with --json)
opcua-cli read opc.tcp://localhost:4840 "i=2259" --debug-stderr --json

# Log to file
opcua-cli read opc.tcp://localhost:4840 "i=2259" --debug-file=/tmp/opcua.log --json
```

Global Options
--------------

[](#global-options)

OptionShortDescription`--json``-j`Output in JSON format`--debug``-d`Debug logging on stdout`--debug-stderr`Debug logging on stderr`--debug-file=`Debug logging to file`--help``-h`Show help`--version``-v`Show versionEcosystem
---------

[](#ecosystem)

PackageDescription[opcua-client](https://github.com/php-opcua/opcua-client)Pure PHP OPC UA client[opcua-cli](https://github.com/php-opcua/opcua-cli)CLI tool — browse, read, write, watch, interactively explore, discover endpoints, manage certificates, generate code from NodeSet2.xml (this package)[opcua-session-manager](https://github.com/php-opcua/opcua-session-manager)Daemon-based session persistence across PHP requests. Keeps OPC UA connections alive between short-lived PHP processes via a ReactPHP daemon and Unix sockets. Separate package by design — see [ROADMAP.md](ROADMAP.md#session-manager-integration-here) for rationale.[opcua-client-nodeset](https://github.com/php-opcua/opcua-client-nodeset)Pre-generated PHP types from 51 OPC Foundation companion specifications (DI, Robotics, Machinery, MachineTool, ISA-95, CNC, MTConnect, and more). 807 PHP files — NodeId constants, enums, typed DTOs, codecs, registrars with automatic dependency resolution. Just `composer require` and `loadGeneratedTypes()`.[laravel-opcua](https://github.com/php-opcua/laravel-opcua)Laravel integration — service provider, facade, config[uanetstandard-test-suite](https://github.com/php-opcua/uanetstandard-test-suite)Docker-based OPC UA test servers (UA-.NETStandard) for integration testingTesting
-------

[](#testing)

### Tested against the OPC UA reference implementation

[](#tested-against-the-opc-ua-reference-implementation)

The underlying [opcua-client](https://github.com/php-opcua/opcua-client) is integration-tested against **[UA-.NETStandard](https://github.com/OPCFoundation/UA-.NETStandard)** — the **reference implementation** maintained by the OPC Foundation, the organization that defines the OPC UA specification. This is the same stack used by major industrial vendors to certify their products.

This CLI tool is additionally integration-tested via [uanetstandard-test-suite](https://github.com/php-opcua/uanetstandard-test-suite), verifying that every command works correctly against real-world OPC UA servers. Like [opcua-client](https://github.com/php-opcua/opcua-client), the CLI unit tests run on **Linux, macOS, and Windows** across PHP 8.2–8.5 in CI on every push.

288 tests (258 unit + 30 integration) with **99.9% code coverage**. Unit tests run cross-OS (Linux, macOS, Windows) × PHP 8.2–8.5 = 12 combinations; integration tests run on Linux × PHP 8.2–8.5 = 4 combinations against [uanetstandard-test-suite](https://github.com/php-opcua/uanetstandard-test-suite) — a Docker-based OPC UA environment built on the OPC Foundation's UA-.NETStandard reference implementation.

```
./vendor/bin/pest                                          # everything
./vendor/bin/pest tests/Unit/                              # unit only
./vendor/bin/pest tests/Integration/ --group=integration   # integration only
```

CI runs on PHP 8.2, 8.3, 8.4, and 8.5 via GitHub Actions.

Requirements
------------

[](#requirements)

- PHP &gt;= 8.2
- [`php-opcua/opcua-client`](https://github.com/php-opcua/opcua-client)

AI-Ready
--------

[](#ai-ready)

This package ships with machine-readable documentation designed for AI coding assistants (Claude, Cursor, Copilot, ChatGPT, and others). Feed these files to your AI so it knows how to use the CLI tool correctly:

FilePurpose[`llms.txt`](llms.txt)Compact project summary — commands, options, architecture. Optimized for LLM context windows with minimal token usage.[`llms-full.txt`](llms-full.txt)Comprehensive technical reference — every command, option, class, code generator, output system. For deep dives and complex questions.[`llms-skills.md`](llms-skills.md)Task-oriented recipes — step-by-step instructions for common tasks (browse, read, write, watch, security, trust, code generation, scripting). Written so an AI can generate correct commands from a user's intent.**How to use:** copy the files you need into your project's AI configuration directory. The files are located in `vendor/php-opcua/opcua-cli/` after `composer install`.

- **Claude Code**: reference per-session with `--add-file vendor/php-opcua/opcua-cli/llms-skills.md`
- **Cursor**: copy into your project's rules directory — `cp vendor/php-opcua/opcua-cli/llms-skills.md .cursor/rules/opcua-cli.md`
- **GitHub Copilot**: copy or append the content into your project's `.github/copilot-instructions.md` file (create the file and directory if they don't exist). Copilot reads this file automatically for project-specific context
- **Other tools**: paste the content into your system prompt, project knowledge base, or context configuration

Versioning
----------

[](#versioning)

This package follows the same version numbering as [`php-opcua/opcua-client`](https://github.com/php-opcua/opcua-client). Each release of `opcua-cli` is aligned with the corresponding release of the client library to ensure full compatibility.

License
-------

[](#license)

MIT. See [LICENSE](LICENSE).

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance94

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Total

8

Last Release

28d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fb72ba5d2c05eec08d9556c0007f17a7d657d5187de1025a4a0525ace4ac8000?d=identicon)[GianfriAur](/maintainers/GianfriAur)

---

Top Contributors

[![GianfriAur](https://avatars.githubusercontent.com/u/16904504?v=4)](https://github.com/GianfriAur "GianfriAur (21 commits)")

---

Tags

phpclicode generatoriotplcopcuaopc-uaindustrialscadaphp-opcuanodeset2

###  Code Quality

TestsPest

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/php-opcua-opcua-cli/health.svg)

```
[![Health](https://phpackages.com/badges/php-opcua-opcua-cli/health.svg)](https://phpackages.com/packages/php-opcua-opcua-cli)
```

###  Alternatives

[nunomaduro/termwind

It's like Tailwind CSS, but for the console.

2.5k260.6M360](/packages/nunomaduro-termwind)[nunomaduro/laravel-console-task

Laravel Console Task is a output method for your Laravel/Laravel Zero commands.

2592.3M13](/packages/nunomaduro-laravel-console-task)[alecrabbit/php-cli-snake

Lightweight cli spinner with zero dependencies

29214.4k5](/packages/alecrabbit-php-cli-snake)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
