PHPackages                             cwola/a5m2-invoker - 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. [Database &amp; ORM](/categories/database)
4. /
5. cwola/a5m2-invoker

ActiveLibrary[Database &amp; ORM](/categories/database)

cwola/a5m2-invoker
==================

Provides a simple execute from PHP to 'A5:SQL Mk-2'(A5M2).

v1.0.1(3y ago)026MITPHPPHP &gt;=8.0.0

Since Jul 7Pushed 3y ago1 watchersCompare

[ Source](https://github.com/cwola/a5m2-invoker)[ Packagist](https://packagist.org/packages/cwola/a5m2-invoker)[ Docs](https://github.com/cwola/a5m2-invoker)[ RSS](/packages/cwola-a5m2-invoker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

a5m2-invoker
============

[](#a5m2-invoker)

PHPから'A5:SQL Mk-2'(A5M2)を簡単に実行するためのライブラリを提供します。

Provides a simple executor from PHP to 'A5:SQL Mk-2'(A5M2).

Overview
--------

[](#overview)

PHPから'A5:SQL Mk-2'(A5M2)を簡単に実行するためのライブラリを提供します。

PDOでも、sshコマンドでトンネルを作っておくことで踏み台経由での接続が可能ですが、 その場合は、PDOの接続を切るまでの間バックグラウンドでポートフォワードをし続ける必要があることや、 その停止時にはプロセスを検索してキルする必要があることなどがネックです（複数プロセスが同時に動くと、プロセス番号を特定できなくなることもあります）
A5:SQL Mk-2のコマンドラインユーティリティを使用すれば、そのような問題とは おさらば です。

A5:SQL Mk-2だとテーブル定義書(HTML)なども生成できるようなので、その辺りの実行機能も追加していく予定です。

Requirement
-----------

[](#requirement)

- PHP8.0+
- [cwola/attribute](https://github.com/cwola/attribute) v1.0+

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

[](#installation)

```
composer require cwola/a5m2-invoker

```

Preparation
-----------

[](#preparation)

- A5:SQL Mk-2(コマンドラインユーティリティ)をダウンロードします。
- jsonファイルに以下のような設定値を記載します。
    ※ \[Usage\]に記載があるように、プログラム中から各設定値を追加することが可能なので設定ファイルが存在しなくても問題はありません。
    特にProviderなどは、タイプミスをしないようにプログラム上から定数(Configs::PROVIDER\_xxx)で指定した方が良いでしょう。 各設定値の詳細は、[設定値一覧](https://github.com/cwola/a5m2-invoker/blob/main/doc/configs.md)を参照してください。

    - 例

    ```
    {
      "executor":             "C:\\Program Files\\A5M2cmd\\A5M2cmd.exe",
      "connectionType":       "",
      "provider":             "",
      "userName":             "postgres",
      "password":             "",
      "direct":               true,
      "serverName":           "127.0.0.1",
      "port":                 5432,
      "ipVersion":            "v4",
      "useUnicode":           false,
      "initialSchemaName":    "",
      "database":             "main",
      "sshHostName":          "",
      "sshPort":              0,
      "sshDestHostName":      "",
      "sshDestPort":          0,
      "sshUserName":          "",
      "sshPassword":          "",
      "sshKeyFile":           "",
      "authentication":       "Server",
      "protocolVersion":      30
    }

    ```

Usage
-----

[](#usage)

- Code Sample

```
