Last modified: 2012-04-16 09:16:16 UTC
I did a fresh local setup with current trunk; all defaults plus use of memcached, where I listed "localhost" in the servers field. This produces these lines in config: ## Shared memory settings $wgMainCacheType = CACHE_MEMCACHED; $wgMemCachedServers = array( 'localhost' ); The memcached client library seems to assume that hosts will be consistently provided in "<host>:<port>" format, leading to a notice being thrown here if we got an entry that only had the host: Notice: Undefined offset: 1 in /var/www/wiki/includes/memcached-client.php on line 692 Call Stack: 0.0016 684584 1. {main}() /var/www/wiki/index.php:0 0.0037 732512 2. require_once('/var/www/wiki/includes/WebStart.php') /var/www/wiki/index.php:41 0.0220 1779440 3. require_once('/var/www/wiki/includes/Setup.php') /var/www/wiki/includes/WebStart.php:142 0.0562 4320528 4. wfIncrStats() /var/www/wiki/includes/Setup.php:316 0.0563 4320912 5. MWMemcached->incr() /var/www/wiki/includes/GlobalFunctions.php:2295 0.0563 4321128 6. MWMemcached->_incrdecr() /var/www/wiki/includes/memcached-client.php:518 0.0563 4321128 7. MWMemcached->get_sock() /var/www/wiki/includes/memcached-client.php:828 0.0563 4321128 8. MWMemcached->sock_to_host() /var/www/wiki/includes/memcached-client.php:759 0.0563 4321432 9. MWMemcached->_connect_sock() /var/www/wiki/includes/memcached-client.php:1016 That's this code here: function _connect_sock( &$sock, $host ) { list( $ip, $port ) = explode( ':', $host ); Either we should fix that code to be more pleasant and handle auto fallback to the default memcached port 11211, or the installer should validate the format of provided server entries.
(In reply to comment #0) > Either we should fix that code to be more pleasant and handle auto fallback to > the default memcached port 11211, or the installer should validate the format > of provided server entries. Both :)
Seems like an easy fix. I know you're busy right now, Chad, but has this already been fixed?
No.
Made the installer validate format in r82687.
The validation code assumes that only IP addresses can be used, so rejects hostnames like 'localhost': bug 30041.