Error al configurar mcrypt después de actualizar a El Capitan

Estoy enfrentando el siguiente problema después de actualizar a El Capitán. Dice:

Installing shanetworking extensions: /usr/lib/php/extensions/no-debug-non-zts-20121212/ cp: /usr/lib/php/extensions/no-debug-non-zts-20121212/#INST@826#: Operation not permitted 

mientras ejecuta sudo make install en la carpeta mcrypt / php-5.6.13 / ext / mcrypt. Creo que esto se debe a SIP, pero ¿qué es al revés?

  • No se puede borrar el historial en Safari con AppleScript en OS X El Capitan
  • Una forma de probar el SIP de Protección Integrity del Sistema (NO sobre cómo activar / desactivar)?
  • pantalla de reproducción de MacBook a proyector conectado a mac pro
  • El Capitan's Disk Utility no formateará unidades nuevas de 3 TB por encima de 800 GB
  • ¿Cómo elimino todo Parallels?
  • Arrastrando un file entre escritorios en El Capitan
  • ¿Qué es SIP y cómo sé si está causando este error?

  • Cómo cambiar la contraseña de la image encriptada .sparseimage en El Capitan?
  • Resaltado de syntax en QuickLook
  • Instalación de Apache Hadoop en Mac Mavericks
  • Homebrew: de alguna manera sucedió que no hay ejecutable openssl
  • launchctl da error de permiso
  • Mac OS X 10.6.8 App Store no funciona
  • 4 Solutions collect form web for “Error al configurar mcrypt después de actualizar a El Capitan”

    Sí, esto se debe a SIP. Entonces las dos opciones que tienes son

    • deshabilitar SIP por completo
    • plantear una request de defecto / soporte contra mcrypt para usar /usr/local lugar de /usr para la installation

    Después de leer la respuesta de @ user980575 (que es un poco networkingundante con los directorys) y un comentario en la publicación de Coolest Guide en The Planet sobre este tema (que requiere editar manualmente su script ./configure ), se me ocurrió una solución alternativa. Anulando el EXTENSION_DIR sobre la marcha.

    Tomó un poco de testing y error, pero cuando estás listo para realizar la installation después de phpizar (¿es una palabra?) Simplemente crea el directory:

     mkdir -p /usr/local/lib/php/extensions 

    Y luego ejecuta:

     ./configure make sudo make EXTENSION_DIR='/usr/local/lib/php/extensions' install 

    Ahora que la extensión se coloca en un directory no protegido, solo tiene que actualizar su php.ini para que apunte a la extensión con la ruta completa.

     extension=/usr/local/lib/php/extensions/mcrypt.so 

    El Capitan agrega una nueva característica de security llamada System Integrity Protection (SIP). Entre otras cosas, SIP evita que otras partes que no sean Apple añadan, eliminen o modifiquen directorys y files almacenados en ciertos directorys:

     /bin /sbin /usr /System 

    Apple ha indicado que los siguientes directorys están disponibles para que los desarrolladores accedan:

     /usr/local /Applications /Library ~/Library 

    Todos los directorys en /usr exception de /usr/local están protegidos por SIP.

    Para get más información sobre SIP, consulte esta publicación:

    https://derflounder.wordpress.com/2015/10/01/system-integrity-protection-adding-another-layer-to-apples-security-model/

    No es necesario deshabilitar la Protección de Integridad del Sistema para instalar extensiones de PHP. Simplemente cree un directory adecuado en / usr / local, y use la variable INSTALL_ROOT. p.ej

     % mkdir -p /usr/local/php56_ext 

    y en su directory de extensión:

     % INSTALL_ROOT=/usr/local/php56_ext make install 

    Tendrá que activar la extensión usando la ruta completa, por lo que en su php.ini, necesitará la línea:

     extension=/usr/local/php56_ext/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).