2011-05-27 12 views
7
$bar = 'BAR'; 
apc_store('foo', $bar); 
var_dump(apc_fetch('foo')); 

Dentro de una solicitud de este trabajo.apc_store no funciona entre las solicitudes

Ahora si trato de hacer un var_dump(apc_fetch('foo')); en otra solicitud que se imprime:

bool(false) 

Cualquier ayuda?

estoy en gentoo con PHP 5.2, APC-3.1.9

Aquí lo phpinfo() sabe acerca de APC:

APC Support enabled 
Version 3.1.9 
APC Debugging Disabled 
MMAP Support Enabled 
MMAP File Mask no value 
Locking type pthread mutex Locks 
Serialization Support php 
Revision $Revision: 308812 $ 
Build Date May 27 2011 13:14:20 

Directive Local Value Master Value 
apc.cache_by_default On On 
apc.canonicalize On On 
apc.coredump_unmap Off Off 
apc.enable_cli Off Off 
apc.enabled On On 
apc.file_md5 Off Off 
apc.file_update_protection 2 2 
apc.filters no value no value 
apc.gc_ttl 3600 3600 
apc.include_once_override Off Off 
apc.lazy_classes Off Off 
apc.lazy_functions Off Off 
apc.max_file_size 1M 1M 
apc.mmap_file_mask no value no value 
apc.num_files_hint 1000 1000 
apc.preload_path no value no value 
apc.report_autofilter Off Off 
apc.rfc1867 Off Off 
apc.rfc1867_freq 0 0 
apc.rfc1867_name APC_UPLOAD_PROGRESS APC_UPLOAD_PROGRESS 
apc.rfc1867_prefix upload_ upload_ 
apc.rfc1867_ttl 3600 3600 
apc.serializer default default 
apc.shm_segments 1 1 
apc.shm_size 32M 32M 
apc.slam_defense On On 
apc.stat On On 
apc.stat_ctime Off Off 
apc.ttl 0 0 
apc.use_request_time On On 
apc.user_entries_hint 4096 4096 
apc.user_ttl 0 0 
apc.write_lock On On 

Si necesita otras informaciones por favor, dígame

Aquí es como lo instalé: https://serverfault.com/questions/274261/failed-installing-apc

Me di cuenta de una cosa: en el comando phpinfo 'Configurar no encontré la APC

'./configure' '-cli --disable' '--disable-descarte-path' '--disable-force-cgi-redirect' '--prefix =/usr/local/php5 ' ' --with-config-file-path =/usr/local/lib/php5 '' --with-pear =/usr/share/php5 ' ' --enable-exif '' --enable- ftp ' ' --enable-bcmath '' --enable-calendar ' ' --with-gd '' --enable-gd-native-ttf ' ' --with-freetype-dir '' --con -gettext ' ' --with-zlib-dir '' --with-imap ' ' --with-imap-ssl ' ' --with-png-dir =/usr ' ' --with-jpeg -dir =/usr ' ' --with-xpm-dir =/usr '' --with-o ' ' --with-kerberos '' --enable-sysvsem ' ' --enable-sysvshm '' --with-mcrypt ' ' --with-iconv '' --enable-mbstring = all ' 'enable-mbregex' '--with-mysql =/usr' '--with-mysqli' '--con-rizo' '--con-XSL'

+0

¿Qué versión de APC? –

+0

@aj: descargo lo último: APC-3.1.9 – dynamic

Respuesta

6

Probablemente está ejecutando PHP sobre CGI (en lugar de FastCGI que se debe utilizar) - ver my answer in another question por qué no lo hace APC funciona si PHP se ejecuta en CGI.

+0

@ yes123: ¿Qué servidor web estás usando? Estoy usando nginx, por lo que FastCGI es más o menos la forma "normal" de usar PHP con él. Si está utilizando Apache probablemente use mod_php (APC también funciona en mod_php). Pero nunca utilicé Apache, así que no puedo decirle cómo configurar eso ^^ – NikiC

0

Su TTL predeterminado (apc.ttl) es de 0 segundos, que es extraño - por favor intente especificar un TTL (en segundos) para el almacenamiento del valor:

apc_store('foo', $bar, 60); 
+2

0 significa persistencia infintecta – dynamic

0

contenido de php.ini

apc.enabled="1" 
apc.shm_segments="1" 
apc.shm_size="128M" 
apc.ttl="7200" 
apc.user_ttl="7200" 
apc.file_update_protection="3" 
apc.cache_by_default="0" 
apc.max_file_size="1M" 
apc.stat="0" 
apc.write_lock="1" 
apc.report_autofilter="0" 
apc.include_once_override="0" 
apc.localcache="1" 
apc.localcache.size="1024" 
apc.coredump_unmap="0" 
; Optional, Comment out them later on 
apc.num_files_hint="5000" 
apc.user_entries_hint="5000" 
apc.gc_ttl="3600" 
apc.stat_ctime="0" 

contenido de apctest.php

<?php 
$bar = 'BAR'; 
apc_store('foo', $bar); 
var_dump(apc_fetch('foo')); 
?> 

Resultado de apctest.php

string 'BAR' (length=3) 

contenido de apctest2.php

<?php 
var_dump(apc_fetch('foo')); 
?> 

Resultado de apctest2.php

string 'BAR' (length=3) 

apc.php muestra en "Usuarios entradas de caché"

User Entry Label Hits Size Last accessed Last modified Created at Timeout Deleted at 
foo 4 656 31.05.2011 12:12:22 31.05.2011 12:05:33 31.05.2011 12:05:33 None [Delete Now] 

versiones de software:

PHP Version 5.3.6 
Server Version: Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 SVN/1.6.9 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_fcgid/2.3.5 mod_perl/2.0.4 Perl/v5.8.8 
OS: CENTOS 5.6 x86_64 standard 
+0

¿puede simplemente publicar la configuración que ha editado, por favor? – dynamic

+0

@RR: ¿es normal en mi php.ini que estas configuraciones no estén presentes? ¿Dónde debería poner editar esta configuración? – dynamic

+0

Los tengo solo en mi php.ini y no en otro lugar. Por cierto, supongo que sabe que APC también guardó los ids en el reinicio de apache, ¿no? – RRStoyanov

Cuestiones relacionadas