Instalación de php-gd + mcrypt en Yosemite / El Capitan
Cómo instalar/habilitar php-gd y mcrypt en Yosemite 10.10 - PHP 5.5.14 build?
tenga en cuenta que los siguientes pasos instalar más reciente PHP 5.5.x
Para verificar si tiene gd y mcrypt instalados, use $ php -m
para mostrar los módulos compilados, continúe si le faltan los módulos deseados y consulte respuesta aceptada.
GD
Entonces, Apple instaló GD (y está utilizando su compilación de PHP, que es fine), pero no incluye soporte para PNG.
Definitivamente te falta el módulo" full " gd (con soporte png) si: falta la función imagecreatefrompng().
"Call to undefined function imagecreatefrompng()"
Mcrypt
Instalar brew usando respuesta aceptada y omita la parte con la instalación de gd (a menos que lo necesite), y use los siguientes pasos:
- hacer búsqueda -
$ brew search mcrypt
- elija la versión de PHP que want
- instalar -
$ brew install php55-mcrypt
- confirme usando
$ php -m | grep mcrypt
¿Quieres cambiar entre versiones de PHP?
Echa un vistazo a brew-php-switcher y sigue las instrucciones.
4 answers
Tiene razón, PHP incorporado de Yosemite viene sin soporte PNG y FreeType.
Actualización 2015/10 para El Captian: Con OS X 10.11 El Capitan PNG soporte está de vuelta, pero FreeType todavía falta.
Solución
Use el gestor de paquetes Homebrew para construir e instalar sin problemas un PHP completo y reemplazarlo en la configuración de Apache. Todo el proceso solo toma unos diez minutos si sigue los pasos a continuación.
Un rápido (pero completar) caminar por
(Nota 1: Utilizo Homebrew aquí, un sistema de gestión de paquetes para OS X. Si está familiarizado con MacPorts – otro gestor de paquetes – puede obtener los mismos resultados con ese sistema. También es posible utilizar my Homebrew solution en paralelo a una instalación MacPorts existente en su máquina.)
(Nota 2: Si desea leer todos los detalles sobre el proceso de instalación, eche un vistazo a Homebrew basic installation and the Homebrew PHP installation information. Pero realmente no necesitarás eso si sigues estos pasos.)
Ahora vamos...
Primero instale Xcode desde App Store. Si ya lo tienes, revisa App Store de nuevo, para asegurarte de que tienes la última versión.
Ahora necesita instalar las Herramientas de Línea de comandos Xcode. Para hacerlo, abra un Terminal e ingrese:
xcode-select --install
El siguiente comando instalará el Homebrew sistema gestor de paquetes:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
El script explica lo que hará y luego hace una pausa antes de hacerlo.
El siguiente comando a introducir es una especie de prueba de estado del sistema:
brew doctor
Esto comprueba los conceptos básicos de la instalación de Homebrew.
Recibí una advertencia "Tiene MacPorts o Fink instalados: /opt/local/bin/port ..." que ignoré con éxito. ;)
Ahora configura el homebrew / dupes tap que tiene dependencias que necesitamos:
brew tap homebrew/dupes
Configurar el homebrew / versions tap que también tiene dependencias que necesitamos:
brew tap homebrew/versions
Luego ejecute el siguiente comando:
brew tap homebrew/homebrew-php
Ahora está listo para finalmente compilar PHP. Para obtener una lista de opciones de configuración disponibles, puede ejecutar una de estas:
brew options php55
brew options php56
Pero estaba bien solo usando los valores predeterminados.
Para ello introduce UNO de estos dos, dependiendo de tus necesidades:
brew install php55
brew install php56
(Esto toma un tiempo, por favor, sea paciente!)
Al instalar php56 (5.6.x) on Yosemite (10.10.5) hay un error por favor vea este problema en github. use
brew install php56 --without-ldap
en su lugar.
Si obtienes un error de tipo "Cannot find Openssl's " no has instalado las Herramientas de línea de comandos de Xcode como te dije al principio. ;) Adelante, instálalos y vuelve a ejecutar el último comando.
PHP está construido ahora y el script terminará con algunos detalles sobre cómo usarlo:
Abra httpd.conf (debe estar ubicado en / private/etc/apache2 / httpd.conf) y habilita PHP agregando UNA de estas dos líneas, dependiendo de la versión de PHP que acabas de instalar:
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
No olvides comentar cualquier LoadModule php5_module existente... línea que podría estar presente desde la propia versión PHP de Yosemite!
Reiniciar Apache
sudo apachectl restart
Su nuevo php.archivo ini se puede encontrar en: /usr/local/etc/php/5.5/php.ini
¡Disfruta!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-28 12:11:59
La respuesta de @Jpsy es buena, pero hay otra opción, de los chicos de liip, aquí. Este es un paquete PHP que viene pre-construido para Yosemite (las versiones anteriores también funcionan) pero es solo una línea de código:
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
Después de eso, todo está listo para funcionar como se esperaba. La configuración que viene con esa instalación es muy adecuada para el desarrollo de Symfony 2, pero debería funcionar bien con otros casos de uso.
Finalmente, si necesita usar la CLI de PHP actualizada, también, pero no desea usar la versión de PHP que viene con el sistema operativo, entonces también podría agregar a su .bash_profile
o similar esta línea de código:
export PATH=/usr/local/php5/bin:$PATH
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-11 22:59:06
No tengo suficiente rep para hacer un comentario, pero si estás usando OS X Server para Yosemite (Versión 4 de la App Store) el archivo a editar es:
/library/server/web/config/apache2/httpd_server_app.conf
El mío se ve así ahora y confirmó que está funcionando después de usar php 5.6 desde homebrew.
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-05 20:46:26
Apache estándar viene con Yosemite el archivo a actualizar después de
sudo brew install php55
Está en /etc/apache2/httpd.conf
Tenga en cuenta que la ubicación de php.ini también se cambia. El estándar que viene con Yosemite está en /etc/php.ini, el que tiene la versión homebrewed está en /usr/local/etc/php/5.5/php.ini
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-10 16:53:34