PHP 8.2.30
Preview: 005.phpt Size: 3.81 KB
//opt/alt/tests/alt-php85-pecl-memcache_8.2-2.el8/tests/005.phpt

--TEST--
strange keys
--SKIPIF--
<?php include 'connect.inc'; ?>
--FILE--
<?php

include 'connect.inc';

$var = 'test';
// REMOVED \0, which is the most likely cause of hard-to-predict behavior
$key = "test\r\n - really strange key";

memcache_set($memcache, $key, $var, false);
$result = memcache_get($memcache, $key);
var_dump($result);

$result = memcache_get($memcache, $key."1");
var_dump($result);

$result = memcache_get($memcache, array($key, $key."1"));
var_dump(count($result));

if (is_array($result)) {
	$keys = array_keys($result);
	// Updated strtr to only replace \r\n
	var_dump(strtr($keys[0], "\r\n", "__"));
}

// Test empty key
// These are expected to fail/warn
$result = memcache_set($memcache, '', 'test1');
var_dump($result);
$result = memcache_get($memcache, '');
var_dump($result);

memcache_set($memcache, 'test_key1', 'test1');
memcache_set($memcache, 'test_key2', 'test2');
$result = memcache_get($memcache, array('test_key1', '', 'test_key2'));
var_dump($result);

$result = memcache_get($memcache, '');
var_dump($result);
$result = memcache_increment($memcache, '');
var_dump($result);
$result = memcache_delete($memcache, '');
var_dump($result);

function test_key_oo($memcache, $key) {
	$memcache->set($key, '1');
	var_dump($key);
	$memcache->get($key);
	var_dump($key);
	$memcache->get(array($key, 'test_key1'));
	var_dump($key);
	$memcache->increment($key);
	var_dump($key);
	$memcache->decrement($key);
	var_dump($key);
	$memcache->delete($key);
	var_dump($key);
}

function test_key_proc($memcache, $key) {
	memcache_set($memcache, $key, '1');
	var_dump($key);
	memcache_get($memcache, $key);
	var_dump($key);
	memcache_get($memcache, array($key, 'test_key1'));
	var_dump($key);
	memcache_increment($memcache, $key);
	var_dump($key);
	memcache_decrement($memcache, $key);
	var_dump($key);
	memcache_delete($memcache, $key);
	var_dump($key);
}

// Test non-string key
$key = 123;

test_key_oo($memcache, $key);
print "\n";
test_key_proc($memcache, $key);
print "\n";

// Test modify key
$key = 'test test';

test_key_oo($memcache, $key);
print "\n";
test_key_proc($memcache, $key);
print "\n";

// Test UTF-8 key
$key = 'abcabc';

$result = $memcache->set($key, 'test1');
var_dump($result);

$result = $memcache->get($key);
var_dump($result);

$result = $memcache->get(array($key));
var_dump($result);

// Array keys
$memcache->set('test_key', 'value');
$result = $memcache->get(array('test_key'));
var_dump($result['test_key']);

// Long keys
var_dump(memcache_increment($memcache, 'forum_thread.php_55461ANDis_show=1ORDERBYis_topDESC,update_timeDESC_0', 1));

// Whitespace key
$values = array(' ' => 'value', 'test test' => 'value2');
$result = $memcache->set($values);
var_dump($result);

$keys = array_keys($values);
$result = $memcache->get($keys);
var_dump($keys);
var_dump(array_values($result));

?>
--EXPECTF--
string(4) "test"
bool(false)
int(1)
string(27) "test___-_really_strange_key"

Warning: memcache_set(): %s
bool(false)

Warning: memcache_get(): %s
bool(false)

Warning: memcache_get(): %s
array(2) {
  ["test_key1"]=>
  string(5) "test1"
  ["test_key2"]=>
  string(5) "test2"
}

Warning: memcache_get(): %s
bool(false)

Warning: memcache_increment(): %s
bool(false)

Warning: memcache_delete(): %s
bool(false)
int(123)
int(123)
int(123)
int(123)
int(123)
int(123)

int(123)
int(123)
int(123)
int(123)
int(123)
int(123)

string(9) "test test"
string(9) "test test"
string(9) "test test"
string(9) "test test"
string(9) "test test"
string(9) "test test"

string(9) "test test"
string(9) "test test"
string(9) "test test"
string(9) "test test"
string(9) "test test"
string(9) "test test"

bool(true)
string(5) "test1"
array(1) {
  ["abcabc"]=>
  string(5) "test1"
}
string(5) "value"
bool(false)
bool(true)
array(2) {
  [0]=>
  string(1) " "
  [1]=>
  string(9) "test test"
}
array(2) {
  [0]=>
  string(5) "value"
  [1]=>
  string(6) "value2"
}

Directory Contents

Dirs: 0 × Files: 84

Name Size Perms Modified Actions
801 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
773 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.21 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.14 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
523 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
3.81 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
430 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
453 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
302 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
548 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
613 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
554 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
499 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
325 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
396 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
437 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
276 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
394 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
398 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.62 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
852 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
898 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.29 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.01 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.03 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.30 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.32 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.72 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
904 B lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.31 KB lrw-r--r-- 2025-12-23 23:31:59
Edit Download
1.33 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.23 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
677 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
882 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
2.00 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
2.03 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
358 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.32 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
557 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
2.26 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
2.01 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
3.88 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.63 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
775 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.50 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.46 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
486 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
851 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
790 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.00 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.12 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.68 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.80 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
868 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.64 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.36 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
728 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
709 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
706 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
590 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
611 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
988 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
573 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
769 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.56 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.17 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
213 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
954 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.20 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.23 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.29 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
1.09 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
2.35 KB lrw-r--r-- 2025-12-23 23:32:00
Edit Download
465 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
545 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
255 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
490 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
361 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
342 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
667 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
353 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
704 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
821 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download
429 B lrw-r--r-- 2025-12-23 23:32:00
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).