Buscar..


Compilando en linux

Para compilar una extensión de PHP en un entorno Linux típico, hay algunos requisitos previos:

  • Habilidades básicas de Unix (poder operar "make" y un compilador de C)
  • Un compilador ANSI C
  • El código fuente de la extensión PHP que desea compilar.

Generalmente hay dos formas de compilar una extensión de PHP. Puede compilar estáticamente la extensión en el binario de PHP, o compilarla como un módulo compartido cargado por su binario de PHP en el inicio. Los módulos compartidos son más probables ya que le permiten agregar o eliminar extensiones sin reconstruir todo el binario de PHP. Este ejemplo se centra en la opción compartida.

Si instaló PHP a través de su administrador de paquetes ( apt-get install , yum install , etc.) necesitará instalar el paquete -dev para PHP, que incluirá los archivos de encabezado PHP y el script phpize necesarios para que funcione el entorno de compilación . El paquete podría llamarse algo así como php5-dev o php7-dev , pero asegúrese de usar su administrador de paquetes para buscar el nombre apropiado usando los repositorios de su distro. Pueden diferir.

Si compiló PHP desde la fuente, lo más probable es que los archivos de encabezado ya existan en su sistema ( generalmente en /usr/include o /usr/local/include ).

Pasos para compilar

Después de verificar para asegurarse de que tiene todos los requisitos previos necesarios para compilar, puede dirigirse a pecl.php.net , seleccionar una extensión que desee compilar y descargar la bola de alquitrán.

  1. Desembale la bola de alquitrán (por ejemplo, tar xfvz yaml-2.0.0RC8.tgz )
  2. Ingrese el directorio donde se desempaquetó el archivo y ejecute phpize
  3. Ahora debería ver una .configure comandos .configure recién creada si todo salió bien, ejecute ese ./configure
  4. Ahora necesitarás ejecutar make , que compilará la extensión.
  5. Finalmente, make install copiará el archivo binario de extensión compilado a su directorio de extensión.

El make install paso normalmente proporcionará la ruta de instalación para usted que se ha copiado la extensión. Esto suele estar en /usr/lib/ , por ejemplo, podría ser algo como /usr/lib/php5/20131226/yaml.so . Pero esto depende de su configuración de PHP (es decir, --with-prefix ) y la versión específica de la API. El número de API se incluye en la ruta para mantener las extensiones creadas para diferentes versiones de API en ubicaciones separadas.

Cargando la extensión en PHP

Para cargar la extensión en PHP, encuentre su archivo php.ini cargado para el SAPI apropiado, y agregue la extension=yaml.so línea extension=yaml.so luego reinicie PHP. Cambie yaml.so al nombre de la extensión real que instaló, por supuesto.

Para una extensión Zend, debe proporcionar la ruta completa al archivo de objeto compartido. Sin embargo, para las extensiones PHP normales, esta ruta se deriva de la directiva extension_dir en su configuración cargada, o del entorno $PATH durante la configuración inicial.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow