lighttpd forum XCache > xcache.ini changes not accepting

Posted by John B (Guest)
on 06.07.2008 18:14
Hello All,

I am new to XCache, so bear with me here...just reOS'd my server, and 
instead of installed eAccelerator/lighttpd I decided to go with 
XCache/lighttpd :)

So anyway, here's my xache.ini:

# configuration for php Xcache module

[xcache-common]
;; install as zend extension (recommended), normally 
"$extension_dir/xcache.so"
zend_extension = /usr/lib/php5/20060613+lfs/xcache.so

[xcache.admin]
xcache.admin.enable_auth = On
# Configure this to use admin pages
xcache.admin.user = "xcache"
; xcache.admin.pass = md5($your_password)
xcache.admin.pass = ""

[xcache]
; ini only settings, all the values here is default unless explained

; select low level shm/allocator scheme implemenation
xcache.shm_scheme =        "mmap"
; to disable: xcache.size=0
; to enable : xcache.size=64M etc (any size > 0) and your system mmap 
allows
xcache.size  =                16M
; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count =                 4
; just a hash hints, you can always store count(items) > slots
xcache.slots =                8K
; ttl of the cache item, 0=forever
xcache.ttl   =                 0
; interval of gc scanning expired items, 0=no scan, other values is in 
seconds
xcache.gc_interval =           0

; same as aboves but for variable cache
xcache.var_size  =            10M
xcache.var_count =             4
xcache.var_slots =            8K
; default ttl
xcache.var_ttl   =             0
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300

xcache.test =                Off
; N/A for /dev/zero
xcache.readonly_protection = Off
; for *nix, xcache.mmap_path is a file path, not directory.
; Use something like "/tmp/xcache" if you want to turn on 
ReadonlyProtection
; 2 group of php won't share the same /tmp/xcache
; for win32, xcache.mmap_path=anonymous map name, not file path
xcache.mmap_path =    "/dev/zero"

; leave it blank(disabled) or "/tmp/phpcore/"
; make sure it's writable by php (without checking open_basedir)
xcache.coredump_directory =   ""

; per request settings
xcache.cacher =               On
xcache.stat   =               On
xcache.optimizer =           On

[xcache.coverager]
; per request settings
; enable coverage data collecting for xcache.coveragedump_directory and 
xcache_coverager_start/stop/get/clean() functions (will hurt executing 
performance)
xcache.coverager =          Off

; ini only settings
; make sure it's readable (care open_basedir) by coverage viewer script
; requires xcache.coverager=On
xcache.coveragedump_directory = ""

The only changes I made were to xcache.optimizer (yes, I now know it 
doesn't do anything yet - but I made that change beforehand), and 
xcache.var_size (obviously).  So I've tried restarting lighttpd, no 
luck.  I've tried stopping lighttpd totally, then starting it - no luck. 
I'm on Debian 4, and this is my PHP Info:

XCache
XCache Support	enabled
Version 	1.2.2
Modules Built 	cacher optimizer coverager assembler encoder decoder
Readonly Protection 	N/A
Opcode Cache 	enabled, 16,777,216 bytes, 1 split(s), with 8192 slots 
each
Variable Cache 	disabled
Shared Memory Schemes 	mmap
Coverage Auto Dumper 	disabled

Directive	Local Value	Master Value
xcache.admin.enable_auth	On	On
xcache.cacher	On	On
xcache.coredump_directory	no value	no value
xcache.count	1	1
xcache.coveragedump_directory	no value	no value
xcache.coverager	Off	Off
xcache.gc_interval	0	0
xcache.mmap_path	/dev/zero	/dev/zero
xcache.optimizer	Off	Off
xcache.readonly_protection	no value	no value
xcache.shm_scheme	mmap	mmap
xcache.size	16M	16M
xcache.slots	8K	8K
xcache.stat	On	On
xcache.test	no value	no value
xcache.ttl	0	0
xcache.var_count	1	1
xcache.var_gc_interval	300	300
xcache.var_maxttl	0	0
xcache.var_size	0M	0M
xcache.var_slots	8K	8K
xcache.var_ttl	0	0

Anyone who can help me get this enabled would be great, because until I 
can - XCache is doing NOTHING for me :(
Posted by moo XCache
on 07.07.2008 01:12
 check phpinfo for the right php.ini to update
 check if your zend_extension=***/xcache.so path is right, and is before 
any other zend_extension=***
 install xcache-src/admin/* to your htdoc so you can see the cache stats
Posted by John B (Guest)
on 07.07.2008 02:14
moo XCache wrote:
>  check phpinfo for the right php.ini to update
>  check if your zend_extension=***/xcache.so path is right, and is before 
> any other zend_extension=***
>  install xcache-src/admin/* to your htdoc so you can see the cache stats
Yes, everything is setup correctly

Configuration File (php.ini) Path 	/etc/php5/cgi/php.ini
Scan this dir for additional .ini files 	/etc/php5/cgi/conf.d
additional .ini files parsed 	/etc/php5/cgi/conf.d/gd.ini, 
/etc/php5/cgi/conf.d/mysql.ini, /etc/php5/cgi/conf.d/mysqli.ini, 
/etc/php5/cgi/conf.d/pdo.ini, /etc/php5/cgi/conf.d/pdo_mysql.ini, 
/etc/php5/cgi/conf.d/xcache.ini

And the actual xcache.ini file is in /etc/php5/conf.d/ and there's a 
symlink to that folder in /etc/php5/cgi/

Oh, and yes the zend extension is already set and listed first. And I 
have the admin console in my www folder, but since I can't change the 
variables I can't get in.

The problem seems to be something about how lighttpd in general isn't 
reading the stuff correctly, it's parsing it, but not registering any 
.ini changes.
Posted by moo XCache
on 07.07.2008 06:50
> The problem seems to be something about how lighttpd in general isn't 
> reading the stuff correctly, it's parsing it, but not registering any 
> .ini changes.

lighttpd does NOT read your php.ini, you really need to restart you PHP 
instead
which often (but NOT always) mean you may have to restart your webserver

e.g.:
for external spawn'ed fastcgi workers, restart the workers instead of 
lighttpd
Posted by John B (Guest)
on 07.07.2008 18:06
moo XCache wrote:
>> The problem seems to be something about how lighttpd in general isn't 
>> reading the stuff correctly, it's parsing it, but not registering any 
>> .ini changes.
> 
> lighttpd does NOT read your php.ini, you really need to restart you PHP 
> instead
> which often (but NOT always) mean you may have to restart your webserver
> 
> e.g.:
> for external spawn'ed fastcgi workers, restart the workers instead of 
> lighttpd
I've tried restarting lighttpd tons of times, I've tried totally 
stopping it and starting it again - all no luck.  So restarting my WWW 
server does nothing in my case...
Posted by moo XCache
on 08.07.2008 14:30
John B wrote:
> moo XCache wrote:
>>> The problem seems to be something about how lighttpd in general isn't 
>>> reading the stuff correctly, it's parsing it, but not registering any 
>>> .ini changes.
>> 
>> lighttpd does NOT read your php.ini, you really need to restart you PHP 
>> instead
>> which often (but NOT always) mean you may have to restart your webserver
>> 
>> e.g.:
>> for external spawn'ed fastcgi workers, restart the workers instead of 
>> lighttpd
> I've tried restarting lighttpd tons of times, I've tried totally 
> stopping it and starting it again - all no luck.  So restarting my WWW 
> server does nothing in my case...

try
$ pstree -p
to see it clearly
Posted by John B (Guest)
on 08.07.2008 15:54
moo XCache wrote:
> John B wrote:
>> moo XCache wrote:
>>>> The problem seems to be something about how lighttpd in general isn't 
>>>> reading the stuff correctly, it's parsing it, but not registering any 
>>>> .ini changes.
>>> 
>>> lighttpd does NOT read your php.ini, you really need to restart you PHP 
>>> instead
>>> which often (but NOT always) mean you may have to restart your webserver
>>> 
>>> e.g.:
>>> for external spawn'ed fastcgi workers, restart the workers instead of 
>>> lighttpd
>> I've tried restarting lighttpd tons of times, I've tried totally 
>> stopping it and starting it again - all no luck.  So restarting my WWW 
>> server does nothing in my case...
> 
> try
> $ pstree -p
> to see it clearly
PHP was a worker, killing all workers did the trick :)

Sorry if that was a dumb question, but I'm so excited to see what XCache 
can do now!!! Thanks again...
Posted by moo XCache
on 09.07.2008 13:44
> PHP was a worker, killing all workers did the trick :)
> 
> Sorry if that was a dumb question, but I'm so excited to see what XCache 
> can do now!!! Thanks again...

np, good to know it works for you :)