Lo he intentado 100 veces, soy realmente nuevo en Ubuntu y terminé con un montón de errores que ni siquiera entiendo, ¿alguien puede ayudarme?
Aquí esta lo que hice:
- Instalé PHP
- Instalé libcurl y luego php5-dev
- Intenté instalar la extensión PECL y dice que
PHPIZE
no se encuentra.
Respuestas:
En primer lugar, tendrá que instalar PEAR a través
apt-get
de obtener el sistema de paquetes y distribución necesario que tantoPEAR
yPECL
uso. Desde un indicador de shell, ingrese:Se le pedirá que confirme la instalación. Simplemente presione “y” e ingrese. Si todo va bien, debería verlo descargar e instalar el paquete php-pear.
Ahora necesitará instalar el paquete php5-dev para obtener los archivos fuente PHP5 necesarios para compilar módulos adicionales. Ingrese lo siguiente desde un indicador de shell:
Si no instala el paquete php5-dev e intenta instalar una extensión PECL usando "pear install", obtendrá el siguiente error:
La extensión PECL_HTTP requiere la instalación de un paquete de dependencia adicional. Probablemente pueda omitir esto para otras extensiones:
Ahora finalmente estamos listos para instalar realmente la extensión. Desde un intérprete de comandos de shell ingrese lo siguiente pero sustituya "pecl_http" con el nombre de la extensión PECL que está instalando:
El instalador puede preguntarle sobre algunas opciones específicas para la extensión que está instalando. Probablemente puede presionar enter una o más veces para aceptar todos los valores predeterminados a menos que desee establecer opciones específicas para su implementación. Si todo va bien, el módulo debe descargar, compilar e instalar.
Una vez que se complete la instalación, probablemente le pedirá que agregue una línea "extension =" a su archivo php.ini. Abra el archivo php.ini en su editor de texto favorito y agregue la línea debajo de la sección denominada "Extensiones dinámicas". En Ubuntu, el archivo php.ini parece estar ubicado en la carpeta / etc / php5 / apache2:
En este ejemplo, la instalación de la extensión pecl_http me pidió que agregue "extension = http.so". Ahora que el archivo php.ini se ha actualizado, Apache deberá reiniciarse para que se cargue la nueva extensión:
fuente
fuente
make
antes de hacer esto. Simplemente hazlosudo apt-get install make
php7.0-dev
paquete en su lugar:sudo apt-get install php7.0-dev
Además de la respuesta de @ Ask, también tenía que hacer:
antes de correr
pecl install pecl_http
porque recibía este error sobrepcre.h
:Además, en lugar de editar el
php.ini
archivo, creé un nuevo archivo llamadopecl-http.ini
en elconf.d
subdirectorio donde estaba elphp.ini
archivo (en ubuntu/etc/php5/apache2/conf.d
)Y necesitaba agregar tres líneas:
Finalmente, desde esta versión instalada
2.0.6
no pude usar lahttp_get_request_headers
función, pero necesitaba usar la versión con espacio de nombres,\http\Env::getRequestHeader()
vea más detalles aquíps: no olvides reiniciar Apache cuando hayas terminado (
service apache2 restart
)fuente
extension=json.so
antes de lahttp.so
línea a pesar de que ya tenía eljson.ini
archivo incluidoconf.d
.Además de las respuestas de Maythux y cwd, es posible que no desee editar su archivo php.ini porque estos cambios pueden perderse en las actualizaciones.
Debian (y por lo tanto Ubuntu) maneja los módulos php de la misma manera que los módulos apache. Eche un vistazo
/etc/php5
, encontrará directorios como este:Cuando miras
mods-available
, ves varios archivos como:Para habilitar / deshabilitar estos mods disponibles para todas las API (apache, cli, cgi) puede usar los comandos
php5enmod
o algophp5dismod
así:respectivamente
Estos crearán (o eliminarán) enlaces simbólicos al archivo de configuración del módulo en
apache2/conf.d/
ycli/conf.d/
.También puede especificar el sapi para habilitar / deshabilitar el mod para (apache en este caso):
pecl install
es posible que no cree un archivo de configuraciónraphf
(y otros módulos instalados con él) pero puede crearlo usted mismo:Luego escribe en las siguientes líneas:
La prioridad predeterminada es 20. Puede depender del tipo de módulo que prioridad tiene que usar. Por
raphf
20 parece estar bien. ( Actualización : si usted está buscando pecl_http, a partir de la versión 2 que tiene que ser cargado despuésrapfh
ypropro
, por lo establezca la prioridad en lamods-available/http.ini
que30
.)Con eso puedes habilitar el módulo:
(Nota: mi respuesta depende de Ubuntu 14.04 pero podría funcionar de igual manera para 13.04, consulte http://www.lornajane.net/posts/2012/managing-php-5-4-extensions-on-ubuntu )
fuente
Hoy en día, instale PEAR de esta manera, para obtenerlo de la fuente:
fuente