1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-26 00:12:06 +01:00
Files
archived-doc-es/reference/apc/ini.xml
2013-12-16 04:18:32 +00:00

963 lines
35 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: bdff4a252976cdf43e428f6b844261c32e3f5af5 Maintainer: seros Status: ready -->
<!-- Reviewed: no -->
<section xml:id="apc.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
Aunque la configuración predeterminada de APC está bien para la mayoría de las instalaciones,
los usuarios dedicados deberían considerar ajustar los siguientes parámetros.
</para>
<para>
Hay dos decisiones principales a tomar para configurar APC. Primero,
cuánta memoria va a ser asignada a APC; y segundo, si APC
debe comprobar si un archivo ha sido modificado en cada petición. Las dos directivas
ini que controlan estos ajustes son <literal>apc.shm_size</literal>
y <literal>apc.stat</literal>, respectivamente. Lea detenidamente las secciones sobre
estas dos directivas más abajo.
</para>
<para>
Una vez que el servidor está ejecutándose, el script <literal>apc.php</literal> que
está incluido con la extensión debería ser copiado a algún lugar dentro del directorio raíz de
documentos y visualizarlo con un navegador, ya que porporciona un análisis detallado del
funcionamiento interno de APC. Si GD está habilitado en PHP, también mostrará algunos
gráficos interesantes. Lo primero que se debe asegurar es, por supuesto, que se están
manejando realmente archivos en caché. Si APC está funcionando, el número dado por
<literal>Cache full count</literal> (a la izquierda) mostrará el número de veces que la caché ha
alcanzado su máxima capacidad y ha tenido que limpiar forzosamente cualquier entrada
a la que no se haya accedido en los últimos <literal>apc.ttl</literal> segundos. Este
número está minimizado en una caché bien configurada. Si la caché está siendo llenada
constantemente, y de este modo liberada forzosamente, el revoltijo resultante tendrá
efectos negativos en el rendimiento del script. La forma más sencilla de minimizar este
número es asignar más memoria a APC. A menos que se haga esto, debería usarse
<literal>apc.filters</literal> para almacenar en caché menos scripts.
</para>
<para>
Cuando APC es compilado con soporte para mmap (Memory Mapping - Mapeo de Memoria), sólo usará u
segmento de memoria, a diferencia de cuando APC es construido con soporte para SHM (SysV Shared Memory - Memoria Compartida de SysV),
que usa múltiples segmentos de memoria. MMAP no tiene un límite máximo como lo tiene
SHM en <literal>/proc/sys/kernel/shmmax</literal>. En general, se recomienda el
soporte para MMAP ya que reclamará la memoria más rápido cuando el servidor web sea
reiniciado y a fin de cuentas reduce el impacto de asignacion de memoria al inicio.
</para>
<para>
<table>
<title>Opciones de configuración de APC</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.apc.enabled">apc.enabled</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>PHP_INI_SYSTEM en APC 2. PHP_INI_ALL en APC &lt;= 3.0.12.</entry>
</row>
<row>
<entry><link linkend="ini.apc.shm-segments">apc.shm_segments</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.shm-size">apc.shm_size</link></entry>
<entry>"32M"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.shm-strings-buffer">apc.shm_strings_buffer</link></entry>
<entry>"4M"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.1.4.</entry>
</row>
<row>
<entry><link linkend="ini.apc.optimization">apc.optimization</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP_INI_SYSTEM en APC 2. Eliminada en APC 3.0.13.</entry>
</row>
<row>
<entry><link linkend="ini.apc.num-files-hint">apc.num_files_hint</link></entry>
<entry>"1000"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.user-entries-hint">apc.user_entries_hint</link></entry>
<entry>"4096"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.0.</entry>
</row>
<row>
<entry><link linkend="ini.apc.ttl">apc.ttl</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.0.</entry>
</row>
<row>
<entry><link linkend="ini.apc.user-ttl">apc.user_ttl</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.0.</entry>
</row>
<row>
<entry><link linkend="ini.apc.gc-ttl">apc.gc_ttl</link></entry>
<entry>"3600"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.cache-by-default">apc.cache_by_default</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP_INI_SYSTEM en APC &lt;= 3.0.12. Disponible a partir de APC 3.0.0.</entry>
</row>
<row>
<entry><link linkend="ini.apc.filters">apc.filters</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.mmap-file-mask">apc.mmap_file_mask</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.slam-defense">apc.slam_defense</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.0. Anterior a APC 3.1.4, el valor por defecto era <literal>"0"</literal> (deshabilitado).</entry>
</row>
<row>
<entry><link linkend="ini.apc.file-update-protection">apc.file_update_protection</link></entry>
<entry>"2"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.6.</entry>
</row>
<row>
<entry><link linkend="ini.apc.enable-cli">apc.enable_cli</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.7.</entry>
</row>
<row>
<entry><link linkend="ini.apc.max-file-size">apc.max_file_size</link></entry>
<entry>"1M"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.7.</entry>
</row>
<row>
<entry><link linkend="ini.apc.use-request-time">apc.use_request_time</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Disponible a partir de APC 3.1.3.</entry>
</row>
<row>
<entry><link linkend="ini.apc.stat">apc.stat</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.10.</entry>
</row>
<row>
<entry><link linkend="ini.apc.write-lock">apc.write_lock</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.11.</entry>
</row>
<row>
<entry><link linkend="ini.apc.report-autofilter">apc.report_autofilter</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.11.</entry>
</row>
<row>
<entry><link linkend="ini.apc.serializer">apc.serializer</link></entry>
<entry>"default"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible desde APC 3.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.apc.include-once-override">apc.include_once_override</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.12.</entry>
</row>
<row>
<entry><link linkend="ini.apc.rfc1867">apc.rfc1867</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.13.</entry>
</row>
<row>
<entry><link linkend="ini.apc.rfc1867-prefix">apc.rfc1867_prefix</link></entry>
<entry>"upload_"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.rfc1867-name">apc.rfc1867_name</link></entry>
<entry>"APC_UPLOAD_PROGRESS"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.rfc1867-freq">apc.rfc1867_freq</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apc.rfc1867-ttl">apc.rfc1867_ttl</link></entry>
<entry>"3600"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.1.1.</entry>
</row>
<row>
<entry><link linkend="ini.apc.localcache">apc.localcache</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible en APC 3.0.14 - 3.1.11.</entry>
</row>
<row>
<entry><link linkend="ini.apc.localcache.size">apc.localcache.size</link></entry>
<entry>"512"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible en APC 3.0.14 - 3.1.11.</entry>
</row>
<row>
<entry><link linkend="ini.apc.coredump-unmap">apc.coredump_unmap</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.16.</entry>
</row>
<row>
<entry><link linkend="ini.apc.stat-ctime">apc.stat_ctime</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.0.13.</entry>
</row>
<row>
<entry><link linkend="ini.apc.preload-path">apc.preload_path</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.1.1.</entry>
</row>
<row>
<entry><link linkend="ini.apc.file-md5">apc.file_md5</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.1.1.</entry>
</row>
<row>
<entry><link linkend="ini.apc.canonicalize">apc.canonicalize</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.1.1.</entry>
</row>
<row>
<entry><link linkend="ini.apc.lazy-functions">apc.lazy_functions</link></entry>
<entry>0</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.1.3.</entry>
</row>
<row>
<entry><link linkend="ini.apc.lazy-classes">apc.lazy_classes</link></entry>
<entry>0</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible a partir de APC 3.1.3.</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.apc.enabled">
<term>
<parameter>apc.enabled</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
<literal>apc.enabled</literal> se puede establecer a 0 para deshabilitar APC. Esto es
útil principalmente cuando APC está compilado estáticamente
en PHP, ya que no hay otra forma de deshabilitarlo
(cuando se compila como un DSO, la línea <literal>extension</literal>
en <literal>php.ini</literal> debe ser descomentada).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.shm-segments">
<term>
<parameter>apc.shm_segments</parameter>
<type>integer</type>
</term>
<listitem>
<para>
El número de segmentos de memoria compartida a asignar
a la caché del compilador. Si APC está agotando la
memoria compartida pero <literal>apc.shm_size</literal>
está establecido tan alto como el sistema lo permita, aumentar
este valor podría prevenir que APC agote su propia memoria.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.shm-size">
<term>
<parameter>apc.shm_size</parameter>
<type>integer</type>
</term>
<listitem>
<para>
El tamaño de cada segmento de memoria compartida en MB.
Por defecto, algunos sistemas (incluidos la mayoría de variantes de
BSD) tienen límites muy bajos del tamaño de un
segmento de memoria compartida.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.shm-strings-buffer">
<term>
<parameter>apc.shm_strings_buffer</parameter>
<type>string</type>
</term>
<listitem>
<para>
El tamaño de la memoria a usar como búfer compartido para strings usados internamente
por APC. El tamaño debería sufijarse con M para megabytes, G para gigabytes.
LA habilitación de esta opción reduce la cantidad de memoria usada por el trabajador
PHP-FPM ya que los strings serán almacenados una vez en lugar de una por cada trabajador.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.optimization">
<term>
<parameter>apc.optimization</parameter>
<type>integer</type>
</term>
<listitem>
<para>
El nivel de optimización. Cero deshabilita el
optimizador, y valores mayores usan optimizaciones más
agresivas. Se esperan mejoras de velocidad muy
modestas. Esto es experimental.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.num-files-hint">
<term>
<parameter>apc.num_files_hint</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Un "consejo" sobre el número de distintos archivos fuente
que serán incluidos o solicitados en su servidor
web. Establézcalo a cero u omítalo si no está seguro;
este ajuste es útil principalmente para sitios que tienen
miles de archivos fuente.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.user-entries-hint">
<term>
<parameter>apc.user_entries_hint</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Al igual que <link linkend="ini.apc.num-files-hint">apc.num_files_hint</link>,
un "consejo" sobre el número de distintas variables de caché de usuario a almacenar.
Estblézcalo a cero u omítalo si no está seguro.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.ttl">
<term>
<parameter>apc.ttl</parameter>
<type>integer</type>
</term>
<listitem>
<para>
El número de segundos que se le permite a una entrada de caché estar
parada en una ranura en caso de que esta ranura de entrada de caché sea
necesaria para otra entrada. Dejar esto a cero
significa que la caché de APC podría llenarse potencialmente
de entradas antiguas mientras que las nuevas entradas podrían no ser
almacenadas en caché. En el caso de que una caché agote la
memoria disponible, la caché será expurgada
completamente si ttl es igual a 0. De otro modo, si
ttl es mayor que 0, APC intentará eliminar las
entradas caducadas.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.user-ttl">
<term>
<parameter>apc.user_ttl</parameter>
<type>integer</type>
</term>
<listitem>
<para>
El número de segundos que se le permite a una entrada de caché estar
parada en una ranura en caso de que esta ranura de entrada de caché sea
necesaria para otra entrada. Dejar esto a cero
significa que la caché de APC podría llenarse potencialmente
de entradas antiguas mientras que las nuevas entradas podrían no ser
almacenadas en caché. En el caso de que una caché agote la
memoria disponible, la caché será expurgada
completamente si ttl es igual a 0. De otro modo, si
ttl es mayor que 0, APC intentará eliminar las
entradas caducadas.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.gc-ttl">
<term>
<parameter>apc.gc_ttl</parameter>
<type>integer</type>
</term>
<listitem>
<para>
El número de segundos que una entrada de caché puede
permanecer en la lista de recolección de basura. Este valor
proporciona un seguro en el caso de que un proceso
del servidor muera mientras se ejecuta un archivo fuente en caché;
si este archivo fuente es modificado, la memoria
asignada para la versión antigua no será
reclamada hasta que se alcance este TTL. Estabézcalo a cero para
deshabilitar esta característica.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.cache-by-default">
<term>
<parameter>apc.cache_by_default</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
Activado por defecto, pero se puede desactivar y usarlo junto con
un filtro positivo en <literal>apc.filters</literal> para que sólo sean almacenados
en caché los archivos que coincidan con un filtro positivo.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.filters">
<term>
<parameter>apc.filters</parameter>
<type>string</type>
</term>
<listitem>
<para>
Una lista de expresiones regulares POSIX extendido
separadas por comas. Si cualquier patrón coincide con el nombre de archivo
fuente, el archivo no será almacenado en caché. Observe que
el nombre de archivo usado para la comparación es pasado para
incluirlo/requerirlo, no la ruta absoluta. Si el
primer carácter de una expresión es <literal>+</literal>, la expresión
será aditiva en el sentido de que cualquier
archivo comparado por la expresión será almacenado en caché, y
si el primer carácter es <literal>-</literal>, entonces cualquier cosa que coincida
no será almacenada en caché. El caso predeterminado es <literal>-</literal>, por lo que
se puede dejar así.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.mmap-file-mask">
<term>
<parameter>apc.mmap_file_mask</parameter>
<type>string</type>
</term>
<listitem>
<para>
Si se compiló con soporte para MMAP usando <literal>--enable-mmap</literal>,
ésta es la máscara de archivo estilo mktemp a pasar al
módulo mmap para determinar si la región de memoria de mmap
va a ser para gestión de archivos o para gestión de
memoria compartida. Para gestión directa de archivos, establézcalo a
algo como <literal>/tmp/apc.XXXXXX</literal>
(exactamente 6 <literal>X</literal>).
Para usar shm_open/mmap al estilo POSIX ponga <literal>.shm</literal>
en algún lugar de su máscara, p.ej. <literal>/apc.shm.XXXXXX</literal>
También se puede establecer a <literal>/dev/zero</literal> para usar la
interfaz <literal>/dev/zero</literal> de kernel a una memoria de mmap
anónima. Dejándolo indefinido forzará un mmap anónimo.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.slam-defense">
<term>
<parameter>apc.slam_defense</parameter>
<type>integer</type>
</term>
<listitem>
<para>
En servidores muy concurridos cuando se inicia el sercidor o se
modifican archivos, se puede crear una competición para todos los procesos
que intentén almacenar el mismo archivo al mismo tiempo.
Esta opción establece el porcentaje de procesos que
se saltan el intentar almacenar en caché un archivo que no lo esté. O piense en ello
como la probabilidad de saltarse el almacenamiento en caché de un proceso.
Por ejemplo, establecer <literal>apc.slam_defense</literal>
a <literal>75</literal> siginifica que hay
un 75% de probabilidad de que el proceso no almacene en caché un archivo que no
lo está. Así, cuanto mayor sea el valor mayor será la defensa contra
los ataques a la caché. Establecer esto a <literal>0</literal>
deshabilita esta característica.
</para>
<para>
Obsoleto por <link linkend="ini.apc.write-lock">apc.write_lock</link>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.file-update-protection">
<term>
<parameter>apc.file_update_protection</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Cuando un archivo es modificado en un servidor web debería hacerse realmente
de una forma atómica. Es decir, escribir en un
archivo temporal y renombrar (<literal>mv</literal>) el archivo a su
posición permanente cuando esté listo. Muchos editores de texto, Many text editors,
<command>cp</command>, <command>tar</command> y
otros programas similares no lo hacen. Esto significa que hay
una posibilidad de que se acceda al archivo (y se almacene en caché) mientras
está todavía siendo escrito. <literal>apc.file_update_protection</literal>
pone un retardo en la marca de almacenamiento en caché de nuevos archivos.
Lo predeterminado es 2 segundos, lo que significa qeu si marca de tiempo
de modificación (<literal>mtime</literal>) de un archivo muestra que es menor que 2
segundo de atigüedad cuando se acceda a él, no será almacenado en caché.
La persona desafortunada que acceda a este archivo a medio escribir
aún lo verá de forma extraña, pero por lo menos no persistirá.
Si todos los archivos del servidor web se actualizan atómicamente mediante
algún método como <command>rsync</command> (el cuál actuliza correctamente),
se puede deshabilitar esta protección estableciendo esta directiva a 0.
Si el sistema se inunda de entradas/salidas y algunos procesos de actualización
toman más de 2 segundos, este ajuste debería ser aumentado
para habilitar la protección en las operaciones de actualizacón más lentas.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.enable-cli">
<term>
<parameter>apc.enable_cli</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Mayormente para probar y depurar. Estableciendo esto habilita APC
para la versión CLI de PHP. Bajo circunstancias normales, no
es ideal crear, llenar y destruir la caché de APC en cada
petición CLI, pero para varios escenarios de pruebas es útil para ser
capaz de habilitar APC para la versión CLI de PHP de manera sencilla.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.max-file-size">
<term>
<parameter>apc.max_file_size</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Previene que los archivos más grandes que este valor sean almacenados en caché. Por defecto es
1M.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.stat">
<term>
<parameter>apc.stat</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Tenga cuidado al cambiar este ajuste. Por defecto está activado, forzando a APC a
realizar estadísticas (comprobar) del script en cada petición para determinar si ha sido modificado.
Si ha sido modificado será recompilado y se almacenará en caché la nueva versión.
Si este ajuste está desactivado, APC no hará ninguna comprobación, lo que normalmente significa que
al forzar a APC a recomprobar archivos, el sevidor web tendrá que ser reiniciado o la
caché tendrá que ser limpiada manualmente. Observe que la configuración de FastCGI del servidor
web puede no limpiar la caché al reinicio. En un servidor de producción donde los
archivos de script raramente cambian, se puede lograr aumentar el redimiento significativamente
deshabilitando las estadísticas.
</para>
<para>
Para archivos incluidos/requeridos también se aplica esta opción, pero observe que
para inclusiones de rutras relativas (cualquier ruta que no empiece
con / en Unix), APC tiene que realizar una verificación para identificar de manera única un arcivo.
Si se usan inclusiones de rutas absolutas, APC puede saltarse las estadísticas y usar esa
ruta absoluta como el identificador único del archivo.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.write-lock">
<term>
<parameter>apc.write_lock</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
En servidores concurridos, cuando el servidor se inicia primero, o cuando muchos archivos
han sido modificados al mismo tiempo, APC puede intentar compilar y almacenar en caché el
mismo archivo múltiples veces. Write_lock garantiza que sólo un proceso
intentará compilar y almacenar en caché un script que no lo ésta. Los demás procesos
que intenten usar el script se ejecutarán sin usar la caché de código de operaciones, en vez
de mirar y esperar a que la caché se prepare.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.report-autofilter">
<term>
<parameter>apc.report_autofilter</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
Registra cualquier script que fue automáticamente excluído de ser almacenado en caché debido
a cuestiones de enlaces precoces/tardíos.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.serializer">
<term>
<parameter>apc.serializer</parameter>
<type>string</type>
</term>
<listitem>
<para>
Usado para configurar APC para que use un serializador de terceros.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.include-once-override">
<term>
<parameter>apc.include_once_override</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
Optimiza las llamadas a <function>include_once</function> y <function>require_once</function>
y evita las caras llamadas al sistema utilizadas.
</para>
<warning>
<simpara>
Esta característica es <emphasis>EXPERIMENTAL</emphasis>. El comportamiento de esta
directiva, su nombre, y la documentación pertinente puede cambiar sin previo
aviso en una versión futura de APC. El uso de esta característica está bajo
su responsabilidad.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.rfc1867">
<term>
<parameter>apc.rfc1867</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
El gestor de enganche de Progreso de Subidas de Archivo RFC1867 sólo está disponible si APC
fue compilado con PHP 5.2.0 o posterior. Cuando está habilitado, cualquier subida de archivo
que incluya un campo llamado <literal>APC_UPLOAD_PROGRESS</literal>
antes del campo file en un formulario de subidas hará que APC cree
automáticamente una entrada de caché de usuario upload_<emphasis>key</emphasis> donde
<emphasis>key</emphasis> es el valor de la
entrada <literal>APC_UPLOAD_PROGRESS</literal> del formulario.
</para>
<para>
Observe que el campo oculto especificado por
<literal>APC_UPLOAD_PROGRESS</literal> debe ir antes del campo file,
si no el progreso de subida no funcionará correctamente.
</para>
<para>
Observe que el rastreo de subidas de archivos no es seguro a nivel de hilos en este momento, por lo
que las nuevas subidas que ocurran mientras se está realizando una anterior deshabilitará
el rastreo para la anterior.
</para>
<para>
Observe que <literal>rate</literal> sólo está disponible una vez que todas
las tranferencias de ficheros estén completadas.
</para>
<para>
<example>
<title>Un ejemplo de apc.rfc1867</title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apc_fetch("upload_$_POST[APC_UPLOAD_PROGRESS]"));
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[total] => 1142543
[current] => 1142543
[rate] => 1828068.8
[filename] => test
[name] => file
[temp_filename] => /tmp/php8F
[cancel_upload] => 0
[done] => 1
)
]]>
</screen>
</example>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.rfc1867-prefix">
<term>
<parameter>apc.rfc1867_prefix</parameter>
<type>string</type>
</term>
<listitem>
<para>
El prefijo de clave a usar para la entrada de caché de usuario generada por la funcionalidad de
progreso de subida rfc1867.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.rfc1867-name">
<term>
<parameter>apc.rfc1867_name</parameter>
<type>string</type>
</term>
<listitem>
<para>
Especifica el nombre de la entrada oculta del formulario que activa el progreso de subida de APC
y especifica el sufijo de clave de la caché de usuario.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.rfc1867-freq">
<term>
<parameter>apc.rfc1867_freq</parameter>
<type>string</type>
</term>
<listitem>
<para>
La frecuencia con la que se debería hacer la actualización de la entrada de la caché de usuario
para el progreso de subida. Puede tomar la forma de un porcentaje del total del
tamaño del archivo o un tamaño en bytes opcionalmente con el sufijo
<literal>"k"</literal>, <literal>"m"</literal>, o <literal>"g"</literal>
para kilobytes, megabytes, o gigabytes respectivamente (insensible a mayúsculas-minúsculas).
Un valor de 0 actualiza tan a menudo como se pueda, lo que puede causar subidar
más lentas.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.rfc1867-ttl">
<term>
<parameter>apc.rfc1867_ttl</parameter>
<type>integer</type>
</term>
<listitem>
<para>
<acronym>TTL</acronym> para las entradas de rfc1867.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.localcache">
<term>
<parameter>apc.localcache</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
Habilita un cierre libre de la caché de seguimiento de procesos locales que reduce las
disputas de cierre cuando la caché está siendo escrita.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.localcache.size">
<term>
<parameter>apc.localcache.size</parameter>
<type>integer</type>
</term>
<listitem>
<para>
El tamaño de la caché de seguimiento de procesos locales, debería ser establecido a un
valor suficientemente grande, aproximadamente la mitad de
<link linkend="ini.apc.num-files-hint">apc.num_files_hint</link>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.coredump-unmap">
<term>
<parameter>apc.coredump_unmap</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
Habilita a APC para el manejo de señales, como SIGSEGV, que escriben
archivos de núcleo cuando se indican. Cuando estas señales son recibidas,
APC intentará desmapear el segmento de memoria compartida para
excluirlo del archivo de núcleo. Este ajuste puede mejorar
la estabilidad del sistema cuando son recibidas señales fatales y se configura un segmento
grande de memoria compartida de APC.
</para>
<warning>
<para>
Esta característica es potencialmente peligrosa. Desmapear el segmento
de memoria compartida en un gestro de señal fatal puede causar un comportamiento
indefinido si ocurriera un error fatal.
</para>
</warning>
<note>
<para>
Aunque algunos kernels pueden proporcionar una utilidad para ignorar varios
tipos de memoria compartida cuando se genera un archivo de copia de núcleo, estas
implementaciones pueden también ignorar segmentos de memoria compartida
tales como el marcador de Apache.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.stat-ctime">
<term>
<parameter>apc.stat_ctime</parameter>
<type>integer</type>
</term>
<listitem>
<para>
La verificación con ctime evitará problemas causados por programas como
svn o rsync asegurándose que los i-nodos no han cambiado desde la úlima
estadística. APC normalmente sólo verificará mtime.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.canonicalize">
<term>
<parameter>apc.canonicalize</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Si está activado, las rutas relativas son canonizadas al modo sin estadísticas. En
tal caso, los ficheros importados a partir de envolturas de flujos, no se almacerán
dado que <function>realpath</function> no soporta las envolutras de flujos.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.preload-path">
<term>
<parameter>apc.preload_path</parameter>
<type>string</type>
</term>
<listitem>
<para>
Opcionalmente, establece un ruta al directorio que APC cargará
cados de caché al inicio.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.use-request-time">
<term>
<parameter>apc.use_request_time</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Usa el tiempo de inicio de la petición <acronym>SAPI</acronym> para
<acronym>TTL</acronym>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.file-md5">
<term>
<parameter>apc.file_md5</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Graba un hash de archivos md5.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.lazy-functions">
<term>
<parameter>apc.lazy_functions</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Habilita la carga lenta de funciones.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apc.lazy-classes">
<term>
<parameter>apc.lazy_classes</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Habilita la carga lenta de clases.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->