Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo distinguir entre compilación dinámica y compilación estática de APACHE

Cómo distinguir entre compilación dinámica y compilación estática de APACHE

Con respecto a la comprensión de Apache de la compilación dinámica y la compilación estática, cité la siguiente metáfora de alguien:

Es como si hubiera dos personas a y m, a representa a apache y m representa el módulo para que a lo use. cosas de m, un método es poner todas las cosas de m en a, y a estará listo tan pronto como se use, que es la llamada compilación estática

Otro método es decirle a , la dirección de m, cuando a quiere usar Cuando algo es m, a va a my lo usa. Otro método es decirle a a y m las direcciones. Cuando a quiere usar las cosas de m, a encuentra my luego las usa. Sin embargo, un problema a tener en cuenta con este método es: m debe tener una dirección real. my genera un error. Este método también es la compilación dinámica (DSO) de Apache.

La siguiente es la diferencia entre compilación dinámica y compilación estática en apache1.3 y apache2.0

En primer lugar, la compilación estática de apache1.3.29+php4.3.4+mysql4 .0 es apache1 compilación dinámica de 3.29+php4.3.4+mysql4.0. 13

Compile apache por primera vez, no lo instale, porque la compilación de php requiere que apache se compile al menos una vez

tar zvxf apache_1.3.27.tar.gz

cd apache_1.3.27

./configure --prefix=/usr/local/apache

Compilar php

tar zvxf php4. 3.4.tar.gz

cd php4.3.4

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql -- with-apache=. /apache_1.3.27

make

make install

Compile e instale apache por segunda vez:

cd ./apache_1.3.29

./configure --prefi=/usr/local/apache --activate-module=src/modules/php4/libphp4.a

make

hacer instalación

cp ./php4.3.4/php.ini.dist /usr/local/php/lib/php.ini

Modificar /usr/local /apache/conf/httpd .conf

Busque

Aplicación AddType/x-httpd-php .php

Aplicación AddType/x-httpd- php-source .phps

Nota: los paquetes de código fuente de apache y php están ubicados en el mismo directorio, -with-apache=./apache_1.3.27 apunta al directorio donde se extrae el código fuente

¡Está bien! Se completa la compilación estática.

Ver método de compilación dinámica DSO:

Primero compila e instala apache

tar zvxf apache_1.3.29

cd apache_1.3.29 p>

./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-shared=max

make

make install

make install

El módulo so se utiliza para proporcionar soporte DSO al módulo central de Apachehe y es el módulo de reescritura de direcciones. enable-shared si no es necesario. = max significa que todos los módulos estándar excepto este se compilan en el módulo DSO.

Luego compila php

tar zvxf php4.3.4.tar.gz

cd php4.3.2

./configure --prefix =/usr/local/php --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs

hacer

make install<

Luego modifique httpd.conf de acuerdo con el método de compilación estática

OK, ¡la compilación dinámica DSO está completa!

A continuación, hablemos del método de compilación dinámica de apache2.0.46+php4.3.2

Es como compilar e instalar apache por primera vez

tar zvxf httpd - 2.0.46.tar.gz

cd httpd-2.0.46

./configure--prefix=/usr/local/apache2--enable-so--enable- mods -shared=most

make

make install

Tenga en cuenta que --enable-so es equivalente a --enable-mods- en 1.3.27 compartido=más. 27 --enable-module=so y --enable-mods-shared=most son equivalentes al --enable-shared=max anterior

Entonces aún compila PHP

tar zvxf php4.3.2.tar.gz

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local /apache2/bin/apxs

make

make install

¡Tenga en cuenta que esto es apxs2!

Modificar el httpd.conf de 1.3.27 también es diferente. Puedes agregar el tipo application/x-tar .tgz de la siguiente manera

AddType application/x-httpd-php. php

AddType application/x-httpd-php-source .phps

Además, si desea mostrar chino, modifique:

AddDefaultCharset gb2312