﻿ticket,summary,component,php,version,milestone,type,owner,created,updated,_description,reporter
1,[TODO] A Uptime statistics collector,website,,1.2-dev,4.0.0,enhancement,,2006-05-22T13:07:48+02:00,1201017353000000,"There should be a XCache uptime statistics collector, showing you how stable each XCache version is on each php version.

functionalities:
 * collect informations/statistics from servers those using XCache
 * it isn't enabled by default. the server admin have to configure it as an cron job
 * the server admin choose what to be collected, while not leaking other information. e.g.: collect network traffic, php hits/s, loadavg, but don't leak its ip address, hide email address from normal user except XCache admin (for contact).
 * normal user can see the statistics and choose what php/XCache version to use. or abandon XCache with ea/apc/etc..

design rules:
 1. back compatibility. because newer collector client might have more info than the old one that submit to collector server, the server and display page should compatible with old clients
 1. keep it simple
 1. easy to setup on collector client side (not collector server, aka. XCache users' production server), don't pull out many package dependency. e.g.: use bash/sh or php for programming language
 1. high performance client: take as little resource (cpu/memory/diskio) as possible
 1. users' profile and servers' profile should be designed for easy assignment.

possible implemention of some details:

 * data relation
  a. each real user has user_profile
  a. user_profile has many server_profile (server_profile belongs to user_profile)
  a. server_profile has many history_state (history_state belongs to server_profile)
 * user profile data detail
  * userid (auto_inc, generated by database, mysql)
  * nickname
  * password (secret)
  * email
  * showemail (true=public email to all users. false=show email to XCache admin only)
 * server profile data detail
  * serverid (auto_inc, generated by database, mysql)
  * GUID (secret, generated by user)
  * CPU class, frequence, count
  * memory size
  * xcache.size, xcache.count.
  * xcache.var_size, xcache.var_count. % xcache.var_size used
  * xcache.shm_scheme
  * other xcache settings..
 * history state
  * serverid
  * phprequestsrate
  * phpbandwidth
  * bytes of xcace.size that used
  * bytes of xcace.var_size that used
  * ...
 * profile registration
  a. cli tools and/or webpage for generating GUID
  a. it is suggested that the user should generate the GUID and let the collector always use the same GUID for the same server. but we can let the collector generate a GUID and save it in /var/tmp/xcache.server.guid or whereever for easy of use.
  a. most of the server info is created and updated by collector client automatically along with some performance/statistics data
  a. user can create user profile with password set.
  a. logined user and can assign any server profile that's not assigned yet AND if he knows the secret GUID, or delete the profile. or assign the server profile (which belongs to current logined user profile) to other user profile.
 * any evil user can spam the collector server, there should be a easy way to delete spam data
 * a page for full user/server profile list
 * a page for displaying summary statistics
",moo
202,Documentation,document,,1.2.1,stupid doc,enhancement,,2008-11-07T19:15:07+01:00,1296243164000000,"Xcache api documentation could definatly be more compehensive.
At the moment functions are unclear without enough examples, could do with more php manual style format.

http://xcache.lighttpd.net/wiki/XcacheApi

Kind regards,
Tom Taylor",Tom Taylor
90,jpgraph+xcache causes php to segfault,cacher,5.2.1,1.2-dev,undecided,defect,,2007-04-28T00:03:22+02:00,1369298302900999,"[http://forum.lighttpd.net/topic/5206 forum post here]

After a few hours, all my jpgraph scripts segfault (not the scripts that dont use jpgraph).
I have the same bug when using APC, but all is fine with php running as fastcgi whithout any cache module.",renchap
95,Memory is not free()'d after xcache_get() data is unset,cacher,5.3.2,1.2.2,3.1.0,defect,moo *,2007-05-15T08:41:33+02:00,1369068418000000,"I've tested EA vs XCache performance on cache reads and got the following problem:

Code:
{{{
#!php
<?php
	function ea_read ($max) # void
	{
		global $DATA;

		for($i = 0;$i<10;$i++)
		{
			$key[$i] = 'some_key_'.$i;
			eaccelerator_put($key[$i], $DATA);
		}

		for($i = 0;$i<$max;$i++)
			$val = eaccelerator_get($key[$i%10]);
	}

	function xcache_read ($max) # void
	{
		global $DATA;

		for($i = 0;$i<10;$i++)
		{
			$key[$i] = 'some_key_'.$i;
			xcache_set($key[$i], $DATA);
		}

		for($i = 0;$i<$max;$i++)
		{
			$val = xcache_get($key[$i%10]);
		}
	}
}}}
Result ($max = 10000):
{{{
#!php
<?php
    $DATA = str_repat('x',10000); 
}}}
Everything is ok.
{{{
#!php
<?php
    $DATA = array_map('uniqid', range(1,10));
}}}
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 15 bytes).

It seems that XCache somehow marks array items that they aren't released (may be it increases ref_count?). I tried to add ""unset($val);"" after ""$val = xcache_get();"" but it didn't help.

The only solution I've found is:
{{{
#!php
<?php
   xcache_set($key,serialize($data));
   $val = unserialize(xcache_get($key));
}}}
but it looks weird (and slows down xcache calls) ...",krogot
44,exclude path,cacher,,1.0.1,3.1.0,enhancement,,2006-10-05T09:47:40+02:00,1355902378000000,"Hi!
Can exclude some php script from optimiser?
Like eaccelerator.filter="""" in eaccelerator or apc.filters in APC?
Thanks.",anonymous
179,xcache_set/get Multiple Keys,cacher,,,3.1.0,enhancement,moo *,2008-05-31T17:17:18+02:00,1369068419000000,"一般情况下，在执行的 PHP 脚本中，很少会只用一次两次的 var cache。

都会这么写：
foreach ($data AS $key => $value)
{
    xcache_set($key, $value, $ttl);
}

xcache_get 也基本上差不多，尤其在把数据库的记录当作一个 key -> value 对存在的时候，往往做一个列表页的情况下，会进行很大批量的 get 和 set 操作。从性能开销的考虑来看，由 xcache 支持批量操作，速度会提升 5-10 倍。目前 APC 和 MEMCACHE 的 get 操作都支持批量 key 的存取。我想除了方便的角度，也有性能提升的考虑吧。

我设想增加 xcache_gets API，原型为：

array xcache_gets(array $keys, [array &$unget_keys])

变量 keys 为一批 key，变量 unget_keys 为在缓存中未获得到的 key 的数组。方便后期代码中进行数据的获取，而不需要再进行循环操作。

如果可以的话，也可以增加 xcache_sets 函数，原型为：

bool xcache_sets(array $data, $ttl)

变量 $data 为 key -> $value 对。

以上建议请希望开发者慎重考虑～",paulgao@…
253,lazy stat (was: reduce the number of fstat call to help server on SAN and network file servers),cacher,,1.3.0,3.1.0,enhancement,moo *,2010-10-19T20:32:04+02:00,1369068419000000,"Adding a parameter to indicate a modification time check delay for php opcode cache can help reduce the load for php server with root directory on a SAN or any network file system. The fstat cost with such setup is much higher than on local filesystem.

This can be implemented this way:

Adding a struct member with the last m_time check in the cache entry.
Check this entry and compare it with the request time, if the last check is within the specified delay (10 seconds for example), use the cache entry as is.
If the last check time is older, read the m_time, update the last check time and do the timestamp compare as now.

",sam@…
112,better vardata caching by implementing pre-check/post-check algo,cacher,,2.0.0,4.0.0,enhancement,,2007-07-05T16:43:11+02:00,1183647279000000," * Update API: xcache_isset($name [, $post_check_ttl])

Example usage:
{{{
#!php

<?php
define(TMPDIR, '/tmp');

function load_abc_data()
{
  $name = ""abc_data"";
  $ttl = 120; // cache for 2 minutes
  $post_check_ttl = 60; // reload every 1 minutes, while other reader keep using the stale data
  if (!xcache_isset($name, $post_check_ttl)) {
    // it worth a lock here to avoid useless yet harmful concurrent load from any slow backend (backend=mysql here).
    $fp = fopen(TMPDIR . ""/abc_data.lock"", ""w"");
    // only one worker update it and other keep on reading, if it's in post-check time
    $nb = xcache_isset($name) ? 0 : LOCK_NB;
    if (flock($fp, LOCK_EX | $nb)) {
      // check AGAIN after we get the lock
      if (!xcache_isset($name, $post_check_ttl)) {
        mysql_query .... and get $data
        xcache_set($name, $data, 120);
        fclose($fp);
        return $data;
      }
      else {
        fclose($fp);
      }
    }
  }
  return xcache_get($name);
}

?>

}}}



See [http://msdn2.microsoft.com/en-us/library/ms533020.aspx MSDN] for Cache-Control pre-check/post-check algo
",moo
169,Cache to Disk Enhancement,cacher,,1.2.1,4.0.0,enhancement,,2008-03-27T22:05:42+01:00,1303115203000000,"http://forum.lighttpd.net/topic/3220

Re: Encoder/Decoder
Posted by moo XCache
on 14.02.2008 01:34

> If ""cache to disk"" allows us to:
> 
> 1) make sure all files are cached,
> 2) create a tarball of the cache,
> 3) transfer the tarball to another machine (same OS, same endian, same 
> 32/64 bit),
> 4) and then run without having source code on the other machine,
> 
> then we could switch to using Xcache.

i'll try when i make some time",Gavin
241,Compiled Code For eval(),cacher,,1.3.0,4.0.0,enhancement,moo *,2010-04-26T09:11:57+02:00,1332765474000000,"The biggest performance issue we see these days is there is no good way to eval compiled code.

It would be *really* nice if XCache could intercept eval() calls, generate a md5 hash based on the code to be run, compile that code with the md5 as the internal key if the key isn't already compiled/stored in memory.  Then execute the compiled version of the code.",digitalpoint
242,xcache_get() For Multiple Keys,cacher,,1.3.0,4.0.0,enhancement,moo *,2010-04-28T21:59:13+02:00,1342429463000000,"It would be really nice if xcache_get() worked in a similar fashion to how Memcache:get() works...

http://www.php.net/manual/en/function.memcache-get.php

If you pass it a string, it returns the key requested (just like xcache_get() currently works), but if you pass it an array, it will return an array of those keys.  So you are able to optionally get a bunch of keys in one pass.  Changing how it works if you passed an array to it should be backwardly compatible since it would still work the same if you pass a string to it.",digitalpoint
149,希望增加 定时清空缓存,cacher,,1.2.1,undecided,defect,,2007-11-15T05:50:28+01:00,1342193226000000,"目的防止出现白板情况，因为在我的测试中，发现对于DRUPAL会出现白板的情况。我感觉是DRUPAL的程序问题。当然这个并不是XCACHE 才会出现的，在其它的PHP加速器中也一样出现，比如 eaccelerator。

如果加入定时清理cache ，在一定程度上就解决了出现白板的情况。比如我们设置在每天早上 4点清理cache 。最好能做成需要cron 支持的，这样至少让程序能在高峰期更为稳定运行,减少白板出现的机率。

我感觉对于象DRUPAL这样的程序，或者出现有白板情况的程序，这也是一个解决办法。至少我们遇到相似的情况，就可以在管理服务器的过程中，无需亲自点鼠标去清理缓存…… 

对比： eaccelerator和xcache ，当出现白板情况时的表现；

xcache 只需清理cache，无需重启httpd 服务器；
eaccelerator 需要重启服务器 ；

对于服务器来说，根本不容许我们在访问高峰期重启服务器。所以eaccelerator在设计上不符合工业标题。而xcache在这方面做的极好。php官方的platform 也没有做到和xcache 一样，达到工业化标准。对于重量级服务器来说，不停机运行是极为重要的。xcache 在这方面的表现不错。

所以我建议开发者为了解决遇到有的网站程序BUG，在使用缓存过程中出现访问白板的情况，加入定时清理 cache 还是比较重要的。xcache面对的是成千上万的PHP程序或使用者，出现白板的情况会存在，虽然机率并不大。但为了能解决网站程序由于使用了加速器后，出现白板的情况，是不是有必要~

感谢 moo兄的大力支持。

北南 呈上

",linuxsir
150,"Xcache 1.2.1, php 5.2.5 and Joomla problem",cacher,PHP 5.2.5,1.2.1,undecided,defect,,2007-11-15T20:52:08+01:00,1342193226000000,"It seems that Xcache 1.2.1 has some compatibility problems with Joomla 1.0.13 or with PHP 5.2.5, can't really tell at this point which. Problem is that updates to site does not come live until you restart Apache and thus empty cache of Xcache. If I disable Xcache then Joomla works just fine.

Is there any known compatibility problems with PHP 5.2.5 or Joomla?

How should I debug this further?",anonymous
155,XCACHE在FASTCGI模式下的内存问题,cacher,5.2.1-WIN32,1.2.1,undecided,defect,,2007-12-19T04:16:34+01:00,1342193226000000,"使用ZENDCORE的APACHE-WIN32套件 PHP 5.2.1 NTS 加挂了XCACHE 使用EXTENSION模式加载
工作正常 但是发现内存的一个问题

我的服务器内存为4G，由于服务器上有大量的PHP页面，在服务器上面我设置了OPCODE缓存大小为256M
由于是FASTCGI模式是多PHP进程处理，每个PHP.exe进程都在启动时开辟了256M的内存空间 4个进程1G的内存就没了

8个进程就是2G内存 而且这些进程之间的内存不共享，从XCACHE的管理页面就可以看出 一个页面是随机的分配到一个空闲的PHP.exe进程上去，我的index.php在PHP.exe-1上面没有 编译一次 刷新一下在php.exe-2上面没有 又编译一次 占用内存  每个页面都被缓存了N次 这样下去不是办法啊 我的服务器经常能开到7个左右的进程

因为没用过LIGHTTPD+php fcgi下的XCACHE环境 请问这个问题在LIGHTTPD下是否不会发生？改用LIGHTTPD是否能得到改善？

如果不能改善，是否XCACHE项目有短期内解决这个问题的计划？请给我个答复，如果没有我将把我的生产环境改为APACHE-SAPI模式 ",qqgod
206,Shared Cache (? Daemon ?),cacher,,,undecided,enhancement,,2008-11-20T10:52:23+01:00,1342193227000000,"I don't know how hard it is to implement the feature I'm going to describe now. Maybe I can help out with some work. I am basically expecting a discussion, as this seems to be a really innovative and good idea:

As we have joining forces everywhere around open source software projects, there are a lot of great frameworks being created. Some of them offer the possibility to have a kind of core, that can be shared between different applications/installations. Im a [http:/typo3.org/ TYPO3] guy, so imagine something like one core and many dummy packages (= installations, that are attached via symlinks). I think this or something similar can be found in several other projects. The point is: This is great with an opcode cacher if you use it with mod_php or in an one process fastcgi environment, because of the central cache even low traffic installations can benefit from the cached core files.

When it comes to shared hosting you probably want to have some more security and consider using methods like suexec or simply [http://redmine.lighttpd.net/wiki/lighttpd/HowToSetupFastCgiIndividualPermissions individual user permissions] for your fastcgi environment. So the core files are readonly and shared, every vhost owns an installation which it can't escape. But we have to build redundant caches for each vhost, which makes it impossible to do efficient caching as you may have to limit the cache sizes etc.

And then we have this great xcache feature called ""Readonly Cacher Protection"", so that the cache can't be touched by anyone else but xcache. 

So maybe it would make sense to have something additional to those redundant caches that delivers a ""shared cache"". In this Case this cache would hold the cached core files. 

Im talking about a concept with two caches in xcache, a private one and a shared. In an configuration directive we could define special directories which will not go to the private cache, but instead being written to the shared. In case of searching the cache both caches have to be considered. 

Reading might not be the problem (but world-readable is a bad thing), but the different permissions will be tricky at least in case of clearing the cache. So maybe to solve this, there has to be a daemon around that 

 - owns the shared cache
 - knows which directories should be cached there
 - is searchable from the different fastcgi driven xcaches
 - delivers shared cache content and in case of a miss for a file that has to stay in his hands:
 - tells his fastcgi driven friends to store this miss at his place
 - accepts new content and saves it
 - will invalidate it when needed

So what do you think about that concept?",a.rieser@…
299,Xcache as session handler,cacher,,3.0.0,undecided,enhancement,,2013-01-16T10:11:48+01:00,1358327593000000,Is it possible to make xcache default session handler through php.ini file?,stanislavdavid
304,"Add ""logoff"" or ""log off"" to Xcache Main Window",cacher,,3.0.0,undecided,enhancement,,2013-04-23T16:12:54+02:00,1366728513000000,It would be nice to be able to log out cleanly so that other users of the same computer couldn't just browse to Xcache and get logged in.,bschonec
226,delete single files from cache,cacher,,1.3.0,3.1.0,enhancement,,2009-08-26T03:08:33+02:00,1369068419000000,"Hi!

In case someone doesn´t want to use stat() or if the filechange isn´t noticed, make it possible to delete a single file from cache, just like var-cache?",nitrox
268,choosing specified cache slot for xcache_set,cacher,,,3.1.0,enhancement,moo *,2011-12-08T17:52:52+01:00,1369068419000000,"I would like to suggest an optional paramter for xcache_set to specify a certain variable cache (var#0, var#1 etc).  

For me and maybe others it would be very useful, because I am caching one information object that is very large and many small ones. If I were able to specify the variable cache, I could ensure that the 
large object and the small objects stay in different caches. Otherwise the small objects may end up in positions, so that there is not enough continuous room left for the large object. ",digi1
176,xcache_isset support XC_TYPE_PHP,cacher,,,4.0.0,defect,moo *,2008-05-10T21:57:49+02:00,1342192248000000,"Why xcache_isset do not support check, if a specific php file is cached or not?
Can be secure and more faster than file_exists before includes.
",anonymous
237,xcache_get() takes out write lock,cacher,PHP 5.2.6-2ubuntu4.5,1.2.2,4.0.0,defect,,2010-03-01T18:14:34+01:00,1303109957000000,"If I try xcache_get()ing a very large array (assigning it to a variable causes PHP's memory usage to rise by ~50M), from a lot of different threads at once, performance drops like a stone.  Debugger <http://poormansprofiler.org/> shows lots of processes stuck in xc_fcntl_lock().

If I serialize() the array to a string and store the string rather than an array, there are no locking problems that I notice even with lots of requests, but the xcache_get()+unserialize() of the string takes a lot longer (on a single thread) than xcache_get() of the array.

I looked at the source code and it seems that even xcache_get() is taking out write locks.  Could it maybe be modified to take out read locks instead, so there's no lock contention?  The variable is practically never changed, in my case.  I imagine problems would arise if you were reading smaller variables often enough, too.

I asked on IRC and icy suggested I file a ticket.",Aryeh Gregor
308,Using file system events to detect changed files,cacher,,3.0.1,4.0.0,enhancement,,2013-06-03T15:02:13+02:00,1370416112838357,Instead of checking a file for changes on every request xcache should register a listener for file system events on that file. (inotify on linux),Lumaraf
289,class loading fails using stream_wrapper_register for the file:// protocol with xcache enabled,cacher,PHP 5.3.5-0.dotdeb.1 with Suhosin-Patch (cli) (built: Jan 18 2011 13:18:29),2.0.1,undecided,defect,moo *,2012-09-25T12:14:25+02:00,1348665280000000,"I am using a proxy filestream wrapper which takes notes of modifying file operations. For each operation it unregisters it self and executes the operation using the respective php function, and than registers it self again as the wrapper for the file:// protocol.

As soon as xcache is enabled, and the proxy wrapper is used, php fails to load the file wrapper class in  stream_wrapper_register('file', __CLASS__)

I concluded that xcache should use the &php_plain_files_wrapper and not a class which can't get loaded because the stream wrapper is unregistered just before that.

I wrote a small patch for the 2.0.1 version which enables the &php_plain_files_wrapper for xcache and restores the original as soon as xcache is done compiling of the php code

gcc version: gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
php version: PHP 5.3.5-0.dotdeb.1 with Suhosin-Patch (built: Jan 18 2011 13:18:29)",ferengee
175,Feature File Upload,cacher,> 5.0,1.2.1,undecided,enhancement,,2008-05-10T21:24:52+02:00,1332765954000000,"It would be nice if xcache can have a feature to get information of 
current file upload progress as APC has.
http://martinjansen.com/text/24092296/

This is not a bug , though  could not find feture request page for xCache

thanks
",Bojan
50,race condiction creating mmap_path file (was trunk segfaults on php 5_2 test suite),cacher,,1.2-dev,4.0.0,defect,,2006-10-30T01:54:06+01:00,1182596207000000,"XCache trunk currently SEGV with the PHP test suite (5_2) you need to run the '''complete''' php test suite (or al least, one including the ext/standard/ test suite.

it either generates a fatal error or segv in 

Fatal error: Call to undefined function () in /home/cristian/php5/ext/standard/tests/strings/substr_replace.php on line 874

however execution the test directly it works just fine, the funny thing is the fact line 874 does not exists, and sometimes the Call to undefined function ()  message is replaced for
Call to undefined function '''X''' ().
",judas_iscariote
30,xcache_get_for_update/xcache_lock/xcache_unlock (was Integrated locking system),cacher,,1.2-dev,4.0.0,enhancement,,2006-08-18T11:09:54+02:00,1212977591000000,"I would like x-cache to introduce an integrated locking system. Take for example this inefficient locking method:

{{{
while(xcache_get(""lock_test""))  { // check if lock exists
	usleep(10); // wait for 10ms
	$waittime += 10; // add wait time to variable
	if($waittime > 10000) { // check if we've been waiting for 10 seconds
		break;
	}
}
xcache_set(""lock_test"", true); // set the lock
$the_cache_test = xcache_get(""test""); // load the test cache into PHP
array_push($the_cache_test, ""a test""); // do some stuff here, change $the_cache_test
xcache_set(""test"", $the_cache_test);
xcache_set(""lock_test"", false); // unset the lock
}}}

Instead of this, I would suggest adding a locking value to xcache_get and xcache_set, like the following:

{{{
$new_method = xcache_get(""test"", true);
array_push($new_method, ""the new method"");
xcache_set(""test"", $new_method, false);
}}}

The ""true"" part in xcache_get sets the lock for ""test"". The ""false"" part in xcache_set sets the lock for ""test"" to false. If xcache_get is called and the lock is set, then xcache should sleep for 10ms and check again (this should be defined in the xcache PHP.ini settings)",Martyo
74,Some Enhancement.,cacher,5.2.0,1.0.2,4.0.0,enhancement,,2007-02-25T09:26:28+01:00,1342191645000000,"- Add GUI feature to exclude particular directory & particular *.php files form being cached.[[BR]]

-Some time admin page css are broken.Wold be nice if the page width is fixed.[[BR]]

-A graph -stats/graph before & after of cache performance.

Thnx.",Nneel
58,integrate run-xcachetest with phpbench,cacher,,,4.0.0,task,,2006-12-18T05:47:11+01:00,1175835723000000,"Will be nice if we can integrate run-xcachetest with [http://www.pureftpd.org/project/phpbench phpbench] so, additionally or checking for functional regressions, we can perform some kind of performance test.
",judas_iscariote
309,make test on xcache-2.0.1 fails,build,5.3.23,2.0.1,undecided,defect,,2013-06-07T19:27:07+02:00,1370626473196135,"I have PHP 5.3.23 (cli) (built: Mar 31 2013 22:31:50

make test on xcache 2.0.1 fails with 
Build complete.
Don't forget to run 'make test'.


=====================================================================
PHP         : /usr/bin/php
PHP_SAPI    : cli
PHP_VERSION : 5.3.23
ZEND_VERSION: 2.3.0
PHP_OS      : Linux - Linux aegeeserv 3.2.41 #1 SMP Wed Mar 20 20:37:15 GMT 2013 x86_64
INI actual  : /mnt/new/src/http/xcache-2.0.1/tmp-php.ini
More .INIs  :
CWD         : /mnt/new/src/http/xcache-2.0.1
Extra dirs  :
VALGRIND    : Not used
=====================================================================
TIME START 2013-06-07 19:24:43
=====================================================================
PASS include absolute path [tests/xcache_include_absolute.phpt]
PASS include relative to current working dir [tests/xcache_include_relative_cwd.phpt]
PASS include relative to current file [tests/xcache_include_relative_file.phpt]
PASS xcache_is_autoglobal [tests/xcache_is_autoglobal.phpt]
FAIL xcache_set/get test [tests/xcache_var.phpt]
=====================================================================
TIME END 2013-06-07 19:24:45

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   54
---------------------------------------------------------------------

Number of tests :    5                 5
Tests skipped   :    0 (  0.0%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :    1 ( 20.0%) ( 20.0%)
Expected fail   :    0 (  0.0%) (  0.0%)
Tests passed    :    4 ( 80.0%) ( 80.0%)
---------------------------------------------------------------------
Time taken      :    2 seconds
=====================================================================

Do you need more information, and why does this test fail?",dpalauzov
277,misleading option in config.w32,build,5.3 & 5.4,1.3.2,undecided,defect,,2012-04-07T22:43:19+02:00,1334080410000000,"Line:

{{{
ARG_ENABLE(""xcache"", ""Include XCache support"", ""yes,shared"");
}}}


in the config.w32 file is misleading. It leads to the message


{{{
 --disable-xcache                            Include XCache support

}}}

as a result of command 

{{{

C:\php>configure --help
}}}

of the ""stepbystepbuild"" (compiling under windows).

When I changed:
{{{
ARG_ENABLE(""xcache"", ""Include XCache support"", ""yes,shared"");
}}}

to:
{{{
ARG_ENABLE(""xcache"", ""Include XCache support"", ""no"");
}}}

Then correct message was shown:


{{{
--enable-xcache                             Include XCache support
}}}
.",tk1
285,check for cli and setup xcache.var_size before commencing xcache_var.phpt,build,5.*,2.0.1,undecided,enhancement,,2012-08-10T14:56:00+02:00,1344610184000000,"hi,

supporting ''make test''ers by having some phpt's is great; thank you for that! We frequently do ''make test'' after compiling php to get an idea of the overall state, new bugs and such.
We do this by using cli sapi.

'''1) xcache_var.phpt does not check for cli-usage'''
and consequently reports FAIL, because var caching is not supported via cli(?).

if you could add something like

{{{
--SKIPIF--
<?php
if (php_sapi_name() == 'cli') {
    die('skip not available for CLI');
}
?>
}}}

to ''tests/xcache_var.phpt'', that'll be gone.

'''2) xcache_var.phpt tries to use var_cache features'''
but without requesting a testcase ini-setup and FAILs (even with other sapi), if xcache.var_size is still set to ootb-default (0).

if you could add something like

{{{
--INI--
xcache.var_size=48k
xcache.var_count=1
xcache.var_slots=8K
xcache.var_ttl=0
xcache.var_maxttl=0
xcache.var_gc_interval=300
}}}

to ''tests/xcache_var.phpt'', this testcase would reliably work, regardless of ini settings or even ootb/unconfigured.


thank you",denu
