memcache mit fastcgi, suexec und jailkit

#1
Hallo,

ich habe ein projekt welches memcache nutzen kann.
Ich habe die passenden deamon und die php extension installiert und phpinfo zeigt mir auch an das memcache aktiv ist.
Leider kriege ich auf der testseite einen internal server error.

Muss ich noch irgententwas beachten um memcache in meiner Umgebung nutzen zu koennen?


danke
 

Till

Administrator
#2
Bitte immer die exakten Fehlermeldungen posten, sonst müssen wir unsere Glaskugel rausholen und raten ;)

Poste also bitte die exakte Fehlermeldung aus dem error.log der Webseite.
 
#3
Hallo,

ich bin gerade dabei dies problem zu ergründen.

im apachelog steht nur folgendes:

Code:
[Wed Mar 02 09:26:38 2011] [error] [client 192.168.255.2] Premature end of script headers: mem1.php
wenn ich das script auf der bash ausführe folgendes:

Code:
# php -f mem1.php
Speicherzugriffsfehler
ich habe den memcached mal auf der bash mit -vv gestartet und bekomme folgendes:

Code:
# /usr/sbin/memcached -vv  -l 10.175.82.158 -u root -m 25
slab class   1: chunk size    104 perslab 10082
slab class   2: chunk size    136 perslab  7710
slab class   3: chunk size    176 perslab  5957
slab class   4: chunk size    224 perslab  4681
slab class   5: chunk size    280 perslab  3744
slab class   6: chunk size    352 perslab  2978
slab class   7: chunk size    440 perslab  2383
slab class   8: chunk size    552 perslab  1899
slab class   9: chunk size    696 perslab  1506
slab class  10: chunk size    872 perslab  1202
slab class  11: chunk size   1096 perslab   956
slab class  12: chunk size   1376 perslab   762
slab class  13: chunk size   1720 perslab   609
slab class  14: chunk size   2152 perslab   487
slab class  15: chunk size   2696 perslab   388
slab class  16: chunk size   3376 perslab   310
slab class  17: chunk size   4224 perslab   248
slab class  18: chunk size   5280 perslab   198
slab class  19: chunk size   6600 perslab   158
slab class  20: chunk size   8256 perslab   127
slab class  21: chunk size  10320 perslab   101
slab class  22: chunk size  12904 perslab    81
slab class  23: chunk size  16136 perslab    64
slab class  24: chunk size  20176 perslab    51
slab class  25: chunk size  25224 perslab    41
slab class  26: chunk size  31536 perslab    33
slab class  27: chunk size  39424 perslab    26
slab class  28: chunk size  49280 perslab    21
slab class  29: chunk size  61600 perslab    17
slab class  30: chunk size  77000 perslab    13
slab class  31: chunk size  96256 perslab    10
slab class  32: chunk size 120320 perslab     8
slab class  33: chunk size 150400 perslab     6
slab class  34: chunk size 188000 perslab     5
slab class  35: chunk size 235000 perslab     4
slab class  36: chunk size 293752 perslab     3
slab class  37: chunk size 367192 perslab     2
slab class  38: chunk size 458992 perslab     2
<6 server listening
<7 send buffer was 124928, now 268435456
<7 server listening (udp)
<8 new client connection
<8 connection closed.
wobei sich diese beiden zeilen bei jedem seitenaufruf erhöhen:

Code:
<8 new client connection
<8 connection closed.


das script selber habe ich von php.net

PHP:
<?php

$memcache = new Memcache;
$memcache->connect('10.175.82.158', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);
Beide Packete wurden aus den SLES Repository installiert.


Code:
Name: memcached
Version: 1.2.6-5.17.1
Architektur: x86_64
Hersteller:SUSE LINUX Products GmbH, Nuernberg, Germany
Code:
Name: php5-pecl-memcache
Version: 3.0.5-1.9
Architektur: x86_64
Gruß
 
Zuletzt bearbeitet:
#5
wenn ich die site im browser aufrufe ich das ein vhost von verschieden,
die maschine an sich ist auch eine VM.
Aber ein einfacher test sollte ja auch als root gehen, oder?
 

Till

Administrator
#6
Wenn es eine VM ist, dann kann es je nach verwendeter Virtualisierungslösung sein dass dort Limits gesetzt sind welche die Verwendung von memcache unmöglich machen. Schau also mal mit:

cat /proc/user_beancounters


ob da irgendwelche Ünberschgreitungen der Limits angezeigt werden.
 
#9
mmh, hat noch jemand eine Idee dazu?


eine telnet läuft korrekt und gibt mir auch die umgebungsvariablen aus,
so scheint es das der php client da mist macht.
Code:
stats
STAT pid 17877
STAT uptime 8027
STAT time 1299150942
STAT version 1.4.5
STAT pointer_size 64
STAT rusage_user 0.260016
STAT rusage_system 0.000000
STAT curr_connections 5
STAT total_connections 12
STAT connection_structures 6
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT get_hits 0
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 48
STAT bytes_written 848
STAT limit_maxbytes 26214400
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
STAT reclaimed 0
END

dmesg gibt mir


Code:
1938213.258224] php[17340] general protection ip:7fe2b548bff8 sp:54f4a493fbd19f0d error:0 in ld-2.11.1.so[7fe2b5476000+1e000]
[1938231.046437] php[17341] general protection ip:7fe6a180aff8 sp:c5077e3ce07e705b error:0 in ld-2.11.1.so[7fe6a17f5000+1e000]
[1938257.239645] php[17355] general protection ip:7f76258daff8 sp:70630b8cbf128c76 error:0 in ld-2.11.1.so[7f76258c5000+1e000]
 
Zuletzt bearbeitet:

Werbung

Top