系统centos 7.7.1908,php 是yum安装的5.4。
扩展安装:
wget http://pecl.php.net/get/SeasClick-0.1.0.tgz
yum install -y php-devel.x86_64
phpize
./configure
make
cp ./.libs/SeasClick.so /usr/lib64/php/modules/SeasClick.so
cp ./.libs/SeasClick.lai /usr/lib64/php/modules/SeasClick.la
vi /etc/php.ini
增加 extension=SeasClick.so
[root@localhost SeasClick-0.1.0]# php -i |grep SeasClick
SeasClick
SeasClick support => enabled
PWD => /root/SeasClick-0.1.0
_SERVER["PWD"] => /root/SeasClick-0.1.0
特别注意 host 要改为 127.0.0.1,SeasClickreadme里面的host是SeasClick,会报错:
PHP Fatal error: Uncaught exception 'Exception' with message 'No such file or directory'
让人一头雾水。
<?php
$config = array(
"host" => "127.0.0.1",
"port" => 9000,
"compression" => true
);
echo class_exists('SeasClick')?'yes':'no';
clientTest($config);
function clientTest($config)
{
$deleteTable = true;
$client = new SeasClick($config);
$client->execute("CREATE DATABASE IF NOT EXISTS test");
testArray($client, $deleteTable);
}
function testArray($client, $deleteTable = false) {
$client->execute("CREATE TABLE IF NOT EXISTS test.array_test (string_c String, array_c Array(Int8), arraynull_c Array(Nullable(String))) ENGINE = Memory");
$client->insert(
"test.array_test",
array(
'string_c', 'array_c', 'arraynull_c'
),
array(
array('string_c1', array(1, 2, 3), array('string')),
array('string_c2', array(4, 5, 6), array(NULL))
)
);
$result = $client->select("SELECT {select} FROM {table}", array(
'select' => 'string_c, array_c, arraynull_c',
'table' => 'test.array_test'
));
var_dump($result);
if ($deleteTable) {
$client->execute("DROP TABLE {table}", array(
'table' => 'test.array_test'
));
}
}
更多示例:
https://github.com/SeasX/SeasClick/blob/master/tests/test.php