添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

2 votos

sudo pecl install intl y obtiene un error fatal: no se encuentra el archivo 'ext/standard/php_smart_str.h

Estaba tratando de instalar intl, una extensión de php requerida por Moodle. Utilicé sudo pecl install intl y recibí el siguiente error:

/private/tmp/pear/install/intl/intl_error.h:24:10: fatal error: 'ext/standard/php_smart_str.h' file not found
#include <ext/standard/php_smart_str.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [php_intl.lo] Error 1
ERROR: `make' failed

Cuando se le pidió Specify where ICU libraries and headers can be found [DEFAULT] : Le doy a enter.

Y he instalado autoconf por brew install autoconf

¿Cómo abordar esta cuestión? Gracias.

1 voto

Como puede ver en este enlace intl ya no se mantiene y no es compatible con versiones posteriores de PHP. Ahora se incluye en más Distribuciones de PHP. La versión brew lo contiene.

Lo que deberías hacer en su lugar es lo siguiente:

brew install [email protected] (o cualquiera que sea la última versión)

brew link --overwrite --force [email protected]

Anule el binario de PHP en su ruta de acceso, vea abajo asumiendo que está usando bash (tenga en cuenta que necesita reemplazar cualquier otro binario de PHP)

echo 'export PATH="/usr/local/opt/[email protected]/bin:/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.bash_profile

Fuente de su perfil bash ( . ~/.bash_profile )

comprobar el módulo intl ( php -m | grep intl )

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.