Apache PHP / OSX Mavericks: - no se pudo abrir la transmisión: demasiados archivos abiertos

Recientemente he actualizado a OSX Mavericks y, desde entonces, comencé a recibir el error mencionado anteriormente en mi máquina de desarrollo. No hay ningún problema obvio en el código (es un auto generadoYii aplicación de muestra). Lo que ha sucedido como parte de la actualización a Mavericks es:

PHP se actualizó desde 5.2.x, que se incluye con OSX Lion a 5.4.x.Tuve que obtener un Zend Debugger for PHP 5.4 instalandoServidor zend, recogiendo ZendDebugger.so y desinstalando Zend Server (todo esto porque Zend no proporciona una versión independiente de su depurador para php 5.4.x).

Desde entonces, tengo este problema luego de cargar y volver a cargar el sitio web un poco. Después de producirse este error, mi servidor web sigue devolviendo el mismo error para cualquier otra aplicación alojada en localhost. Tengo que mencionar que las páginas web estáticas están bien servidas.

He visto variostrapos sobre este tema. La mayoría señala problemas en el código donde los manejadores de archivos no se cierran correctamente, por lo que se cruza el umbral de límite de archivo abierto. También encontré estohilo lo que parece sugerir que esto podría ser un problema del depurador Zend. También hay uninforme de error presentado por php 5.2.x. Siguiendo el hiloaquí, He intentado lo siguiente:

$ ulimit -a

que informa:

open files (-n) 256

También,

sysctl -a | grep files

devoluciones,

kern.maxfiles = 12288
kern.maxfilesperproc = 10240
kern.maxfiles: 12288
kern.maxfilesperproc: 10240
kern.num_files: 3248

Otro interesantehilo sugiere aumentar este límite (actualmente 256) usando:

ulimit -n 1024

Lo he intentado todo, pero nada parece estar funcionando. El problema tampoco es reproducible constantemente.

Me pregunto si está usandoulimit -n 1024 va a afectar a apache, ya que por lo que he leído, afecta a la cantidad de archivos que el shell puede tener abiertos.

Cualquier ayuda es apreciada.

EDITAR:

Reiniciandoapache Ayuda un poco, hasta que el error se vuelve a encontrar.Dejar el servidor web inactivo por un bit (sin intervalo definido) también ayuda.

Respuestas a la pregunta(7)

Su respuesta a la pregunta