Skip to content

griddb/php_client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GridDB PHP Client

Overview

GridDB PHP Client is developed using GridDB C Client and SWIG (Simplified Wrapper and Interface Generator).

Operating environment

Building of the library and execution of the sample programs have been checked in the following environment.

OS:              CentOS 7.9(x64)
SWIG:            4.1.0 (commit: d22b7dfaea1f7abd4f3d0baecc1a1eddff827561)
GCC:             4.8.5
PHP:             8.0/8.1
GridDB Server:   4.6 (CE)
GridDB C Client: 4.6 (CE)

OS:              CentOS 8.5(x64)
SWIG:            4.1.0 (commit: d22b7dfaea1f7abd4f3d0baecc1a1eddff827561)
GCC:             8.3.1
PHP:             8.0/8.1
GridDB Server:   4.6 (CE)
GridDB C Client: 4.6 (CE)

OS:              Ubuntu 18.04(x64)
SWIG:            4.1.0 (commit: d22b7dfaea1f7abd4f3d0baecc1a1eddff827561)
GCC:             7.5.0
PHP:             8.0/8.1
GridDB Server:   4.6 (CE)
GridDB C Client: 4.6 (CE)

OS:              Ubuntu 20.04(x64)
SWIG:            4.1.0 (commit: d22b7dfaea1f7abd4f3d0baecc1a1eddff827561)
GCC:             10.3.0
PHP:             8.0/8.1
GridDB Server:   4.6 (CE)
GridDB C Client: 4.6 (CE)

QuickStart

Preparations

Install SWIG as below.

$ git clone https://github.com/swig/swig.git
$ cd swig
$ git checkout d22b7dfaea1f7abd4f3d0baecc1a1eddff827561
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Note: If CentOS, you might need to install pcre in advance.
$ sudo yum install pcre2-devel.x86_64

Install PHP 8 and GridDB C Client.

Examples of installing PHP 8.1 are as below.

(CentOS 7)
$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum install -y --enablerepo=remi-php81 php php-cli php-devel

(Ubuntu 18.04/20.04)
$ sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
$ sudo add-apt-repository ppa:ondrej/php -y
$ sudo apt update
$ sudo apt install php8.1 php8.1-dev

Set LIBRARY_PATH.

export LIBRARY_PATH=$LIBRARY_PATH:<C client library file directory path>

Build and Run

1. Execute the command on project directory.

$ make

How to run sample (with Command Line)

GridDB Server need to be started in advance.

1. Write the following desctiption in /etc/php.ini.

    extension=<PHP client library file directory path>

2. Set LD_LIBRARY_PATH.

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<C client library file directory path>

3. The command to run sample

    $ php sample/sample1.php <GridDB notification address> <GridDB notification port>
        <GridDB cluster name> <GridDB user> <GridDB password>
      -->Person: name=name02 status=false count=2 lob=ABCDEFGHIJ

How to run sample (with Web Browser)

GridDB Server need to be started in advance.

In the case of Web Server: Apache/2.4.6, please use the following steps.

1. Store sample/sample1_web.php in /var/www/html.

2. Store griddb_php_client.so in /usr/lib64/php/modules.

3. Add extension for griddb_php_client.so in /etc/php.ini

4. Set LD_LIBRARY_PATH.

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<C client library file directory path>

5. Restart httpd/apache.

6. In web browser, run : http://localhost/sample1_web.php.

7. Click submit button after entering address, port, cluster, user and password.

Function

(available)

  • STRING, BOOL, BYTE, SHORT, INTEGER, LONG, FLOAT, DOUBLE, TIMESTAMP, BLOB type for GridDB
  • put single row, get row with key
  • normal query, aggregation with TQL

(not available)

  • Multi-Put/Get/Query (batch processing)
  • GEOMETRY, Array type for GridDB
  • timeseries compression
  • timeseries-specific function like gsAggregateTimeSeries, gsQueryByTimeSeriesSampling in C client
  • trigger, affinity

Please refer to the following files for more detailed information.

About API:

  • When an error occurs, an exception GSException is thrown.

Community

  • Issues Use the GitHub issue function if you have any requests, questions, or bug reports.
  • PullRequest Use the GitHub pull request function if you want to contribute code. You'll need to agree GridDB Contributor License Agreement(CLA_rev1.1.pdf). By using the GitHub pull request function, you shall be deemed to have agreed to GridDB Contributor License Agreement.

License

GridDB PHP Client source license is Apache License, version 2.0.

About

GridDB PHP Client

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •