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(2mo ago)021↓83.3%1MITPHPPHP ^8.2

Since Mar 26Pushed 2mo 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 1w 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 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

41

—

FairBetter than 87% of packages

Maintenance87

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

73d 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 (22 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.5k283.2M418](/packages/nunomaduro-termwind)[nunomaduro/laravel-console-task

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

2592.4M13](/packages/nunomaduro-laravel-console-task)[php-opcua/opcua-client

Pure PHP OPC UA client — binary protocol over TCP, 6 security policies, browse/read/write/subscribe/history, zero external dependencies

131.4k23](/packages/php-opcua-opcua-client)[alecrabbit/php-cli-snake

Lightweight cli spinner with zero dependencies

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

PHPackages © 2026

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