Esta sección contiene información específica sobre la instalación de PHP con Apache, tanto para la versión Unix como Windows. Las instrucciones de instalación con apache2 se encuentran en su propia página.
Se pueden seleccionar argumentos a usar con el comando configure de la linea 10 de más abajo, de la lista completa de opciones de configuración. Los números de versiones han sido omitidos aqui para asegurarse que las instrucciones no son incorrectas, debeis cambiar 'xxx' con los valores correctos de vuestros ficheros.
Dependiendo de vuestra instalación de Apache y variante Unix, existen numerosas maneras de parar y arrancar el servidor Apache. Más abajo teneis las maneras más típicas de parar y arrancar el servidor en diferentes instalaciones de apache/unix. /path/to/ se tiene que actualizar
Ejemplo 3-6. Ejemplos de comandos para rearrancar Apache
|
La localización de los binarios apachectl y http(s)dctl suele variar. Si tu sistema tiene los comandos locate ó whereis ó which, podeis utilizarlos para localizar los programas de control de vuestro servidor.
Diferentes ejemplos de compilación de PHP para Apache:
Esto creará una biblioteca compartida libphp4.so que será cargada por Apache usando una linea LoadModule en el fichero de configuración de Apache httpd.conf. Soporte para PostgreSQL es incorporado en la biblioteca libphp4.so.
Esto creará una biblioteca compartida libphp4.so que será cargada por Apache, pero creará tambien una biblioteca compartida pgsql.so que se puede cargar por PHP usando ó la directiva de la extensión en el fichero php.ini ó cargandola explicitamente en un script usando la función dl().
Esto creará una biblioteca libmodphp4.a, un fichero mod_php4.c y algunos otros pequeños ficheros y copiara todo al directorio src/modules/php4 en el directorio fuente de Apache. Apache hay que compilarlo entonces con --activate-module=src/modules/php4/libphp4.a y el sistema de generación de apache se encargará de crear el fichero libphp4.a y enlazarlo estáticamente al binario httpd. El soporte para PostgreSQL es incluido directamente en el binario httpd, asi que el resultado final en un solo fichero binario httpd que incluye todo el Apache y PHP.
Igual que el ejemplo anterior, excepto que el soporte para PostgreSQL no se incluye directamente en httpd, se crea una biblioteca compartida pgsql.so que hay que cargar en PHP, bien desde el fichero php.ini ó directamente usando la función dl().
Antes de escoger el método a utilizar para instalar PHP, debeis considerar los pros y los contras de cada método. Compilarlo como una biblioteca compartida tiene la ventaja de poder compilar Apache por separado y de no tener que recompilar todo si añadimos ó cambiamos PHP. Compilando PHP estaticamente en Apache significa que PHP cargará más rapidamente y se ejecutará más rapido. Para más información, vea la página de Apache sobre soporte DSO.
Nota: El fichero de configuración por defecto de Apache, httpd.conf, viene con una sección como esta:
A menos que esto se cambie a "Group nogroup" ("Group daemon" tambien es muy común), PHP no podra abrir ficheros.
Nota: Asegurarse que la versión especificada de apxs cuando se usa --with-apxs=/path/to/apxs, es la version instaladada en tu sistema y no la versión que se encuentra en directorio con las fuentes de Apache.
Existen dos maneras de utilizar PHP con Apache 1.3.x en Windows. Una es usar el binario CGI (php.exe), la otra es usar el módulo Apache DLL. En ambos casos, hay que parar el servidor Apache y editar el fichero de configuración httpd.conf para configurar Apache con PHP.
Hay que decir que el módulo SAPI es más estable ahora bajo Windows, recomendamos utilizarlo en vez del binario CGI, ya que es más transparente y seguro.
Aunque existen diferentes maneras de configurar PHP con Apache, estas son lo suficientemente simples como para que un iniciado pueda usarlas. Consultar la documentación de Apache para más información sobre directivas de configuración.
Si descomprimimos PHP en c:\php\, tal y como se describe en la sección Pasos para una instalación manual, necesitamos introducir estas lineas en el fichero de configuración de Apache para configurar el binario CGI:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .phtml
Action application/x-httpd-php "/php/php.exe"
Aviso |
El uso de la opción CGI abre la posibilidad de posibles ataques a tu servidor. Por favor, leer la sección sobre Seguridad con la versión CGI para aprender como defenderse de estos ataques. |
Si vais a utilizar PHP como módulo de Apache, debeis copiar php4ts.dll al directorio windows/system (para Windows 9x/Me), winnt/system32 (para Windows NT/2000) ó windows/system32 (para Windows XP), sobreescribiendo cualquier fichero antiguo. Una vez copiado, debeis modificar el fichero httpd.conf:
Editar httpd.conf en vuestro editor favorito, localizar la directiva LoadModule y añadir la siguiente linea al final de la lista para PHP 4: LoadModule php4_module c:/php/sapi/php4apache.dll, o para PHP 5 LoadModule php5_module "c:/php/sapi/php5apache.dll"
Puede ocurrir que despues de usar el instalador de Apache para Windows, tengais que definir la directiva AddModule para mod_php4.c. Esto es especialmente importante si la directiva ClearModuleList está definida. Añadir AddModule mod_php4.c al final de la lista de directivas AddModule. Para PHP 5, usar AddModule mod_php5.c
Buscar una frase similar a # AddType allows you to tweak mime.types. Vereis algunas definiciones del tipo AddType, añadir al final de la lista: AddType application/x-httpd-php .php. Podeis elegir la extensión que querais para los ficheros PHP. .php es nuestra sugerencia. Se puede incluso tener .html y .php3 se puede añadir por asuntos de compatibilidad hacia atras.
Despues de cambiar el fichero de configuración, recordar que teneis que arrancar de nuevo Apache, por ejemplo, NET STOP APACHE seguido de NET START APACHE, si ejecutais Apache como un Servicio Windows, ó como lo hagais normalmente.
Existen dos maneras para usar la característica de destacar el código fuente, sin embargo, dependerá de nuestra instalación para que funcionen. Si Apache esta configurado para usar PHP como módulo SAPI, se puede usar esta carcterística añadiendo la linea AddType application/x-httpd-php-source .phps al fichero httpd.conf en el mismo lugar en donde añadimos AddType application/x-httpd-php .php.
Si Apache esta configurado para usar PHP como binario CGI, debereis utilizar la función show_source(). Para ello, crear un script PHP y añadir este código <?php show_source ("original_php_script.php"); ?>. Sustituir original_php_script.php con el nombre del fichero del que quereis presentar el código fuente.
Nota: En Apache para Windows, todos los "backslashes" en un "path", p.ej. "c:\directory\file.ext", deben de convertirse a "forward slashes" , "c:/directory/file.ext".