2016-02-01 11 views
8

Ich habe gerade auf PHP7 über Homebrew aktualisiert. Ich bekomme jetzt die folgende Fehlermeldung, wenn ein php -v tun:PHP7/MemCache veraltete Fehlermeldung

PHP Deprecated: PHP Startup: memcached.sess_lock_wait and memcached.sess_lock_max_wait are deprecated. Please update your configuration to use memcached.sess_lock_wait_min, memcached.sess_lock_wait_max and memcached.sess_lock_retries in Unknown on line 0 
Deprecated: PHP Startup: memcached.sess_lock_wait and memcached.sess_lock_max_wait are deprecated. Please update your configuration to use memcached.sess_lock_wait_min, memcached.sess_lock_wait_max and memcached.sess_lock_retries in Unknown on line 0 
PHP Deprecated: PHP Startup: memcached.sess_lock_wait and memcached.sess_lock_max_wait are deprecated. Please update your configuration to use memcached.sess_lock_wait_min, memcached.sess_lock_wait_max and memcached.sess_lock_retries in Unknown on line 0 
Deprecated: PHP Startup: memcached.sess_lock_wait and memcached.sess_lock_max_wait are deprecated. Please update your configuration to use memcached.sess_lock_wait_min, memcached.sess_lock_wait_max and memcached.sess_lock_retries in Unknown on line 0 
PHP 7.0.2 (cli) (built: Jan 7 2016 10:40:26) (NTS) 
Copyright (c) 1997-2015 The PHP Group 
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies 
    with Xdebug v2.4.0RC3, Copyright (c) 2002-2015, by Derick Rethans 

Kann jemand empfehlen, wo ich falsch gehe?

Ich habe die folgenden Pakete aufgelistet und über Homebrew installiert.

memcached php56-memcached php70-memcached

Dank.

+1

Ich nehme an, Sie sollten die älteren Memcached-Pakete deinstallieren. Vielleicht [http://stackoverflow.com/questions/11966640/uninstall-memcached-and-or-force-install-with-homebrew-mac-os-x] könnte dazu beitragen, das zu tun. – trincot

Antwort

13

Ich musste die folgenden Einträge in /usr/local/etc/php/7.0/conf.d/ext-memcached.ini auskommentieren.

;memcached.sess_lock_wait = 150000 
;memcached.sess_lock_max_wait = 0; 

Die Zahlen sind in Mikrosekunden (siehe http://php.net/manual/en/memcached.configuration.php)

die neuen Einstellungen in PHP 7.0+ sind:

; The minimum time, in milliseconds, to wait between session lock attempts. 
; This value is double on each lock retry until memcached.sess_lock_wait_max 
; is reached, after which any further retries will take sess_lock_wait_max seconds. 
; Default is 1000. 

memcached.sess_lock_wait_min = 1000; 

; The maximum time, in milliseconds, to wait between session lock attempts. 
; Default is 2000. 

memcached.sess_lock_wait_max = 2000; 

; The number of times to retry locking the session lock, not including 
; the first attempt. 
; Default is 5. 

memcached.sess_lock_retries = 5; 

Quelle: https://github.com/php-memcached-dev/php-memcached/blob/master/memcached.ini

+1

Vergessen Sie nicht, diese zu ersetzen, anstatt sie einfach zu entfernen. Die Warnung lautet: 'Bitte aktualisieren Sie Ihre Konfiguration, um memcached.sess_lock_wait_min, memcached.sess_lock_wait_max und memcached.sess_lock_retries in Unbekannt in Zeile 0' –

+0

direkt auf der Nase zu verwenden, löste es für mich. – Magus

3

Die memcached.sess_lock_wait und memcached.sess_lock_max_wait Werte werden von memcached.sess_lock_wait_min und memcached.sess_lock_wait_max (Anmerkung „max“ ist jetzt am Ende des Variablennamen) ersetzt. Ändern Sie diese Variablennamen und stellen Sie sie wie gewünscht auf 0 (Standardeinstellung) oder andere Werte ein. Wenn Sie Standardwerte verwenden, können Sie einfach die Deklarationen auskommentieren.