No parece que APC se haya actualizado para coincidir con la versión de php 5.4 (desearía que hubieran incluido APC en el núcleo de PHP como se planeó originalmente).
Parece que no puedo encontrar una respuesta definitiva sobre si el APC actual funciona con php 5.4+. Me las arreglé para encontrar paquetes de Ubuntu para php 5.4, pero los paquetes de php-apc no se instalarán.
php
installation
apc
Greywire
fuente
fuente
Respuestas:
Zend OPCache incluido en PHP 5.5
El 21 de marzo de 2013, se lanzó PHP 5.5 beta 1 que incluye "Zend OPCache" . Parece firmemente que será el reemplazo de APC en el futuro, ya que está incluido en el núcleo de PHP, y tendrá que mantenerse para cada nuevo lanzamiento.
Personalmente, recomendaría a aquellos que dependen de APC para su almacenamiento en caché de código de operación que prueben su código con la próxima caché de código de operación incorporada, y retroalimenten cualquier problema encontrado para garantizar una versión final estable.
No sé qué significa esto para el futuro de APC.
APC PARA PHP 5.4+ AÚN SE MARCA COMO BETA
Esto significa que los desarrolladores no lo consideran completamente estable. . Si bien muchas personas no experimentan ningún problema con las versiones actuales de SVN, todavía hay informes extraños de casos extremos de personas con ciertas configuraciones o con una carga pesada.
Como con todo lo que le gustaría usar en un entorno de producción, asegúrese de probar a fondo cualquier versión (beta o estable) en entornos de desarrollo o preproducción primero . ¡Esto incluye pruebas de carga!
A partir de la versión 3.1.13, las confirmaciones con el repositorio SVN se han ralentizado un poco y la lista de errores no tiene tantas adiciones recientes. Haga de eso lo que quiera.
Cualquier persona con conocimientos de C / gdb y algo de tiempo libre debe pasar por alto la lista de errores y ver si pueden arreglar algo o mejorar este producto de código abierto gratuito en el que todos confiamos.
Existen soluciones alternativas, Wikipedia proporciona una lista de aceleradores de PHP .
El 13 de febrero de 2013, Zeev Suraski anunció la disponibilidad del código fuente de Zend Optimizer + .
Ha habido bastante discusión larga sobre la integración de Zend Optimizer + en el núcleo de PHP en la próxima versión principal (la versión posterior a la 5.5). Es posible que las personas deseen familiarizarse con Zend Optimizer + con anticipación, si este fuera el caso.
No utilice APC 3.1.14
APC 3.1.14 se ha eliminado de PECL descargas de debido a algunos problemas de memoria graves que se han descubierto pero que aún no se han localizado.
Si ya está utilizando 3.1.14, es posible que desee degradar hasta que se publique 3.1.15. Recuerda, esto todavía es beta. . Si lo está usando, lo está usando bajo su propio riesgo.
2013-01-02 :
APC 3.1.14 está disponible, agregando compatibilidad con PHP 5.5, además de resolver un buen número de otros errores .Todavía beta
2012-09-03 :
APC 3.1.13 está disponible, solucionando una serie de segfaults .
2012-08-16 :
Se ha creado una etiqueta APC 3.1.12 , pero aún está marcada como beta , está disponible en la página APC PECL , así como en el registro de cambios .
En esta ocasión, se solucionaron muchos errores relacionados con bin_dump.
2012-07-19 :
Se ha creado una etiqueta APC 3.1.11 , pero aún está marcada como beta , está disponible en la página APC PECL , así como en el registro de cambios . He estado siguiendo las listas de correo relevantes y todavía están trabajando activamente para corregir los errores de APC; sin embargo, es un módulo complejo y no muchas personas parecen estar a la altura de la tarea. Esta versión corrige los desagradables errores stat = 0 al incluir archivos.
2012-04-11 :
Un APC 3.1.10 etiqueta fue creada hoy, y una versión beta de 3.1.10 fue colocado en la página de APC PECL
Los changelog estados:
fuente
A partir de PHP 5.4.7 y APC 3.1.13 (e incluso el tronco SVN de APC a partir del 19 de septiembre de 2012), aunque es "compatible", no es estable en servidores con mucha carga, especialmente si está utilizando PHP. FPM y $ GLOBALS. Algunas de las discusiones de los desarrolladores sobre APC hablan de casos marginales no resueltos .
Estoy respondiendo esta pregunta 6 meses después de que me la hicieron porque el problema aún es frecuente, y encontrar este hilo sin una respuesta como la mía es lo que me hizo dar el salto a PHP 5.4 con APC y quemarme. Con suerte, esto ayudará a las personas a evitar algo de dolor.
fuente
Parece que el error "puede" haberse corregido en la última revisión del tronco. Lo tengo funcionando ahora con PHP 5.4.0.
svn co http://svn.php.net/repository/pecl/apc/trunk/ apc-trunk
cd apc-trunk
phpize
./configure
hacer
hacer instalar
fuente
No, APC 1.3.9 (y a partir de este momento, incluso el tronco svn) no es compatible con php 5.4.0, lo sé porque acabo de pasar horas tratando de que funcione (probé varios archivos svn / php. ini settings / compiler flags / lo que sea).
Esto es simplemente ridículo, APC es una de las extensiones de PHP más populares y es de esperar que después de semanas de pasar por 8 PHP 5.4 RC, tengan tiempo para hacer que APC funcione junto con él.
Patético.
fuente
Bueno, lo estoy intentando durante los últimos días, y no hay forma de que pueda hacer que un cacher de código de operación funcione con php 5.4. Xcache no se compilará y apc no reconocerá ciertas clases cuando se almacenen en caché. Creo que este es el error del que habla Simon.
Escuché que había algunas correcciones en el tronco, pero también probé las últimas fuentes del tronco, pero los mismos errores siguen apareciendo. Creo que php sin un cacher de código de operación (no hay ninguno disponible en este momento) no es digno de producción. Esperamos que la gente de apc solucione este problema lo antes posible.
¡¡¡ACTUALIZAR!!!
Xcache 2.0.0-rc1 está fuera y es compatible con php 5.4. ¡Disfrutar!
fuente
Encontré apcu http://windows.php.net/downloads/pecl/releases/apcu/
Quizás esto sea apc para x64 en Windows. Funcionó (versión 4.0.1) en mi aplicación.
fuente
Estoy usando AMPPS con PHP versión 5.5.19. Desde hace algún tiempo, exactamente desde el lanzamiento de PHP 5.5 - APC se reemplaza con Zend OPCache que se incluye en PHP 5.5 y versiones posteriores. Ahora todo lo que tiene que hacer para habilitar "APC" (actualmente "OPcache") es editar su php.ini. Antes de la sección [XDebug] agregue las líneas fluidas:
php.ini
Tenga en cuenta que necesitamos tener dos instancias de:
Uno en [OPcache] y otro en la sección [XDebug]. Xdebug a menudo no se proporciona de forma predeterminada en la instalación del servidor xampp / ampps / easyPHP. Es posible que se encuentre en una situación en la que necesite descargar la extensión Xdebug. Puede hacer esto fácilmente usando una aplicación en línea que defina el Xdebug correcto para su php. Visite http://xdebug.org/wizard.php y siga sus sencillas instrucciones. Una vez que haya descargado la versión correcta de Xdebug para su versión php, edite el enlace de su zend_extension en la sección [XDebug].
¡Tenga en cuenta! que tiene que agregar la sección OPcache antes de XDebug en su archivo php.ini !!! Si me sigue correctamente, debería tener dos instancias de zend_extension en su archivo php.ini (una en OPcache y otra en la sección Xdebug).
Esto funciona perfectamente para Symfony2 marco y elimina el mensaje de recomendación para instalar y habilitar APC para PHP y Xdebug.
Mensaje para aquellos que ejecutan Symfony 2 y eliminaron el mensaje de advertencia de "web / config.php", pero aún encuentran un problema al ejecutar desde la línea de comandos "php app / check.php". Si esto sucede, significa que su consola está usando un archivo php.ini diferente. Cambie la variable PATH de su sistema: apunte al directorio php correcto (donde tiene su archivo php.exe y que es utilizado por su servidor local).
Si necesita una explicación más profunda, hágamelo saber en el comentario a continuación. Saludos.
fuente
Parece que aún quedan algunos problemas por resolver. Revise los errores y es posible que pueda averiguar cuál es la solución a su problema particular.
Me ocupé de uno de esos errores hace algunas horas, y resultó que usar APC desde el tronco SVN era el camino a seguir. ¡Espero que esto ayude!
fuente
Descubrí que necesita borrar la caché de código de operación en cada solicitud de página, de lo contrario, las clases que implementan interfaces no se cargan. Esto fue compilado desde el último tronco svn, Apache 2.4.1, PHP 5.4.0.
fuente
APC - no recomendado
Personalmente no usé APC con PHP 5.4 o PHP 5.5, pero el APC estable más reciente no es compatible con PHP 5.4, el APC beta más reciente se puede usar con 5.4 pero está escrito que todavía tiene problemas negativos con APC.
Si tiene PHP 5.5,
simplemente use Zend Opcache . Está listo para usar, por lo que los problemas son mínimos.
Si tienes PHP 5.4
recomiendo XCache . Es totalmente compatible con PHP 5.4 y 5.5. Desarrollado activamente. La última versión estable se lanzó hace 3,5 meses (10 de octubre de 2013). Mejora el rendimiento incluso si usa fastcgi.
fuente
Zend OPCache se incluye en PHP 5.5 con el nombre php_opcache.dll en el directorio php / ext. Para activarlo:
fuente
APC tiene una nueva versión: 3.1.14 desde el 2 de enero, que resuelve algunos errores: http://pecl.php.net/package/APC
Sin embargo, he estado ejecutando PHP 5.4.x con APC 3.1.13 desde el repositorio dotdeb sin ningún problema hasta ahora, así que para mí diría que es estable. dotdeb también me ha informado que incluirán el APC actualizado en la próxima versión de PHP, que se espera sea la 5.4.11.
fuente
Estamos experimentando errores de memoria libre (apache segfault) con PHP 5.4.26 y APC 3.1.9. Hay un error abierto para APC en PHP 5.4.X: https://bugs.php.net/bug.php?id=61934
Recomiendo no usar este complemento en PHP> 5.3.
fuente
En XAMPP Versión 5.6.3 (PHP 5.6.3), todo lo que tiene que hacer en su ini.php es esto:
Configuración para el framework Symfony2.
fuente