This topic describes how to install and use Tablestore SDK for PHP.

Prerequisites

  • 64-bit PHP 5.5 or later is available.

    You can run the php -v command to view the current PHP version.

    Tablestore uses 64-bit integers. However, in 32-bit PHP, only the STRING type can be used to represent 64-bit INTEGER values. Therefore, Tablestore does not support 32-bit PHP. In Windows, PHP versions earlier than PHP 7 are not actually 64-bit. When you run PHP in Windows, you must upgrade PHP to PHP 7 or modify the environment yourself. We recommend that you use PHP 7 to obtain the optimal performance.

  • cURL extension (optional)

    You can run the php -m command to check whether the cURL extension is installed.

    Note
    • In Ubuntu, you can run the sudo apt-get install php-curl command to install the cURL extension of PHP by using apt-get.
    • In CentOS, you can run the sudo yum install php-curl command to install the cURL extension of PHP by using YUM.
  • OpenSSL extension (optional)

    You must install the OpenSSL PHP extension if you use HTTPS.

Installation methods

  • Composer
    To install Tablestore SDK for PHP by using Composer, perform the following steps:
    1. Run the composer require aliyun/aliyun-tablestore-sdk-php command in the root directory of the project or declare the dependency on Tablestore SDK for PHP in the composer.json file.
      "require": {
          "aliyun/aliyun-tablestore-sdk-php": "~5.0"
      }
    2. Run the composer install command to install the dependency. After the dependency is installed, check whether your directory structure complies with the following structure:
       .
       ├── app.php
       ├── composer.json
       ├── composer.lock
       └── vendor
                                      

      In the preceding directory structure, app.php indicates your application. The vendor directory contains the dependent library. You must import the dependency into app.php.

      require_once __DIR__ . '/vendor/autoload.php';
                                      
      Note
      • If your project already has autoload.php imported, you do not need to import autoload.php again after you add the SDK dependency.
      • If a network error occurs when you use Composer, you can enter the following command on the command line to use Packagist that is available to China: composer config -g repo.packagist composer https://developer.aliyun.com/composer.
  • Source code package
    You can download the source code package by using the following methods:
    • Download the source code package of the required version from GitHub. For more information, visit GitHub.
    • Obtain the source code from the SDK package. For more information about the download path, see SDK source code package.

Sample programs

Tablestore SDK for PHP provides a variety of sample programs for your reference or use.

You can obtain the sample programs by using one of the following methods:
  • Download and decompress Tablestore SDK for PHP. Find the sample programs in the examples directory.
  • Access the GitHub project for Tablestore SDK for PHP. For more information, visit aliyun-tablestore-php-sdk.
To run a sample program, perform the following steps:
  1. Decompress the SDK package that you downloaded.
  2. Modify the ExampleConfig.php file in the examples directory.
    EXAMPLE_END_POINT: the endpoint of the region in which the Tablestore instance that you want to access resides. Example: https://sun.cn-hangzhou.ots.aliyuncs.com. 
    EXAMPLE_ACCESS_KEY_ID: the AccessKey ID that you obtained from Alibaba Cloud. 
    EXAMPLE_ACCESS_KEY_ID: the AccessKey secret that you obtained from Alibaba Cloud. 
    EXAMPLE_INSTANCE_NAME: the instance that you use to run the sample program. The sample program is operated in this instance. 
  3. Separately run a sample file in the examples directory.

The following table lists the sample files.

Sample fileContent
NewClient.phpShows you how to configure the default client.
NewClient2.phpShows you how to configure a custom client.
NewClientLogClosed.phpShows you how to disable the logs of the client.
NewClientLogDefined.phpShows you how to configure custom logs for the client.
CreateTable.phpShows you how to use CreateTable.
DeleteTable.phpShows you how to use DeleteTable.
DescribeTable.phpShows you how to use DescribeTable.
ListTable.phpShows you how to use ListTable.
UpdateTable.phpShows you how to use UpdateTable.
ComputeSplitPointsBySize.phpShows you how to use ComputeSplitPointsBySize.
PutRow.phpShows you how to use PutRow.
PutRowWithColumnFilter.phpShows you how to use PutRow with conditional update.
UpdateRow1.phpShows you how to use PUT in UpdateRow.
UpdateRow2.phpShows you how to use DELETE_ALL in UpdateRow.
UpdateRow3.phpShows you how to use DELETE in UpdateRow.
UpdateRowWithColumnFilter.phpShows you how to use UpdateRow with conditional update.
GetRow.phpShows you how to use GetRow.
GetRow2.phpShows you how to configure column_to_get in GetRow.
GetRowWithSingleColumnFilter.phpShows you how to use GetRow with conditional filtering.
GetRowWithMultipleColumnFilter.phpShows you how to use GetRow with complex conditional filtering.
DeleteRow.phpShows you how to use DeleteRow.
DeleteRowWithColumnFilter.phpShows you how to use DeleteRow based on specified conditions.
PKAutoIncrment.phpShows you how to use auto-increment primary key columns.
BatchGetRow1.phpShows you how to use BatchGetRow to read multiple rows from a table.
BatchGetRow2.phpShows you how to use BatchGetRow to read multiple rows from multiple tables.
BatchGetRow3.phpShows you how to use BatchGetRow to read specified columns of multiple rows from a table.
BatchGetRow4.phpShows you how to use BatchGetRow to process returned results.
BatchGetRowWithColumnFilter.phpShows you how to use BatchGetRow with conditional filtering.
BatchWriteRow1.phpShows you how to perform multiple PUT operations in BatchWriteRow.
BatchWriteRow2.phpShows you how to perform multiple UPDATE operations in BatchWriteRow.
BatchWriteRow3.phpShows you how to perform multiple DELETE operations in BatchWriteRow.
BatchWriteRow4.phpShows you how to perform the UPDATE, PUT, and DELETE operations in BatchWriteRow.
BatchWriteRowWithColumnFilter.phpShows you how to use BatchWriteRow with conditional update.
GetRange1.phpShows you how to use GetRange.
GetRange2.phpShows you how to use GetRange to obtain the specified columns.
GetRange3.phpShows you how to use GetRange to obtain the specified number of rows.
GetRangeWithColumnFilter.phpShows you how to use GetRange with conditional filtering.