Menú
Está libre
registro
hogar  /  Multimedia/ Instalación de php 5 windows 7. Cómo instalar PHP: todas las trampas del proceso

Instalación de php 5 windows 7. Cómo instalar PHP: todas las trampas del proceso

PHP es uno de los lenguajes de programación más populares para crear sitios web y aplicaciones web. Ha desarrollado muchos sistemas de gestión de contenido listos para usar para blogs, sitios web de empresas o incluso tiendas en línea. A pesar de que este lenguaje tiene sus inconvenientes, es bastante fácil de aprender y, por lo tanto, se usa muy a menudo para desarrollar nuevos sitios.

El intérprete php se puede suministrar como un módulo para Apache, ejecutar scripts desde línea de comando o como un servicio php-fpm separado. Estos servicios difieren en sus capacidades y propósito, pero para cualquier tipo de intérprete, debe configurar ajustes básicos, por ejemplo, carpeta de trabajo, incluye extensiones, visualización de errores, etc. Todas estas configuraciones se establecen a través del archivo php.ini. En este tutorial, veremos cómo configurar el archivo php.ini en sistemas operativos Linux, aunque toda la información también funcionará para Windows.

Si aún no ha instalado el intérprete del lenguaje de programación php, puede leer el artículo.

Para cada versión del intérprete, el archivo de configuración php.ini se encuentra en una carpeta separada. Pero todo archivos de configuración se encuentran en la carpeta / etc / php, por ejemplo, / etc / php5:

La carpeta conf.d contiene Configuración general para varias extensiones y módulos, ahora no nos interesarán. Las siguientes tres carpetas son más interesantes: apache, cli y fpm. Contienen archivos de configuración php.ini para cada uno de estos intérpretes.

Si va a utilizar varios de estos intérpretes, deberá especificar la configuración de cada uno de ellos por separado. Puede asegurarse de que haya un archivo php.ini en cada una de las carpetas.

En cuanto a la sintaxis del archivo, está dividido en secciones, primero está la sección de configuración de php, que se divide en subsecciones según el tipo de configuración, luego están las secciones para configurar diferentes módulos. La sintaxis de las configuraciones en sí es muy simple, corresponde a la sintaxis habitual de los archivos ini. La línea comienza con el nombre de la configuración, seguido de un signo igual, seguido de un valor:

setup_name = valor_parámetro

Los símbolos denotan el nombre de la sección, por ejemplo, y el símbolo; significa un comentario, y el intérprete no lee ni él ni todos los caracteres posteriores. Ahora veamos cómo está configurado php.ini y repasemos los parámetros más importantes.

Configuración del archivo php.ini

Para la conveniencia de la orientación, dividiremos todos los parámetros en categorías según su propósito. Le bastará con encontrar el parámetro requerido y cambiar su valor. Ahora abra el archivo de configuración php, por ejemplo, para el módulo apache y proceda a la configuración. Para evitar errores, no agregue nuevas líneas, busque las existentes y cambie los valores a los deseados:

sudo gedit /etc/php5/apache/php.ini

Primero, hay un poco de información sobre el archivo en sí en forma de comentarios, luego la configuración que nos interesa.

Salida de error php

La configuración de php 7 generalmente comienza con la configuración de la salida de error. Todas las configuraciones de visualización de errores se encuentran en la sección Manejo y registro de errores. De forma predeterminada, la visualización de errores en la pantalla durante la ejecución del script está deshabilitada. Esto se hace para que los usuarios no puedan ver nada innecesario. En su lugar, todos los errores se escriben en un archivo de registro. Si está usando php en computador de casa, entonces tales medidas no son necesarias y puede mostrar inmediatamente todo en la pantalla:

display_errors = desactivado

Reemplazar con encendido. Usos de php Varios tipos errores, por ejemplo, críticos, advertencias, errores de sintaxis, utilizando la línea error_reporting puede habilitar la salida de solo ciertos tipos de errores:

error_reporting = E_ALL & ~ E_DEPRECATED

Si necesita combinar varios tipos de errores, utilice el símbolo & y, para desactivar la pantalla, anteponga el tipo con el signo ~. El ejemplo anterior muestra todos los errores (E_ALL) excepto los mensajes de funciones obsoletas (E_DEPRECATED). Puede deshabilitar todos los tipos usando 0:

error_reporting = 0

Habilite el registro de errores de php si no los muestra en la pantalla:

Para no obstruir el registro con mensajes del mismo tipo, puede ignorar los errores repetidos dentro de la misma ejecución:

ignore_repeated_errors = Activado

Límites de recursos

Si los scripts php no tuvieran recursos limitados, podrían sobrecargar fácilmente el servidor y evitar que funcione normalmente. Por lo tanto, por php predeterminado establece límites estrictos, pero es posible que deba relajarlos un poco.

De forma predeterminada, el tiempo máximo de ejecución del script es de 30 segundos, hagamos un minuto:

max_execution_time = 30

Si especifica 0, la secuencia de comandos se puede ejecutar indefinidamente. También puede limitar el tiempo durante el cual el script cargará datos, 60 segundos:

max_input_time = 60

Número máximo de variables en GET y POST:

max_input_vars = 1000

El siguiente parámetro establece la cantidad máxima de memoria que un solo script puede usar durante su ejecución, en megabytes:

límite_memoria = 128 M

El tamaño máximo de los datos transmitidos en una solicitud POST también está limitado, el tamaño predeterminado es de 8 megabytes:

post_max_size = 8M

Puede limitar el alcance de php en el sistema con la opción openbase_dir, especifica la carpeta por encima de la cual el script no puede acceder sistema de archivos:

open_basedir = / var / www /

Usando las directivas disable_functions y disable_classes, puede deshabilitar el uso de ciertas funciones o clases en scripts, por ejemplo, esto puede ser útil para el alojamiento web. En este ejemplo, deshabilitamos el uso de la función ini_set, que le permite cambiar la configuración de php desde un script:

disable_functions = ini_set

Directorios predeterminados

El archivo de configuración php.ini le permite especificar las rutas predeterminadas del sistema de archivos para varias acciones. Puede especificar carpetas donde el sistema buscará los scripts si intenta incluirlos usando la declaración de inclusión:

include_path = ".: / usr / share / php5: / usr / share / php5 / PEAR"

Carpeta de módulos php:

extension_dir = "./"

Carpeta para grabar archivos temporales:

sys_temp_dir = "/ tmp"

Para que los usuarios puedan cargar sus archivos al servidor, por ejemplo, una foto, debe habilitar esta función en php:

file_uploads = Activado

Tamaño máximo de archivo de carga:

upload_max_filesize = 2M

El número máximo de archivos que puede cargar un script:

max_file_uploads = 20

La configuración de php.ini está casi completa, solo nos quedan extensiones.

Configurando extensiones

Las extensiones le permiten aumentar enormemente la funcionalidad de php. Por ejemplo, gracias a las extensiones, puedes usar bases en tus scripts datos mysql, postgresql, mysqli, sqlite, la biblioteca de gráficos gd y más. Todo esto está incluido en esta sección.

Para habilitar la extensión, simplemente elimine el comentario delante de la línea con su comando, por ejemplo:

extensión = php_mysql.so
extensión = php_mbstring.so
extensión = php_pgsql.so

Tenga en cuenta que para extensión de windows estará en formato dll, pero para Linux debe usarlo. En los siguientes apartados se configura cada una de las extensiones, pero no las consideraremos porque normalmente no requieren configuración.

conclusiones

En este artículo, analizamos cómo configurar php en el servidor, o una computadora ordinaria para el desarrollo de sitios web. El archivo de configuración php tiene una estructura bastante simple y no es difícil de manejar. Después de completar todas las configuraciones y guardar los cambios, no olvide reiniciar el servidor web o el servicio php-fpm.

En términos generales, php-fpm es un tema aparte porque hay muchos ajustes adicionales, y tal vez lo veamos en uno de los próximos artículos. Si tienes alguna duda, ¡pregunta en los comentarios!

1,3 mil

Este artículo proporciona guía paso por paso para instalar PHP para trabajar con Apache HTTP Server en Windows. Este procedimiento se ha probado tanto en Windows XP como en Vista. Se asume que ya ha completado la instalación de Apache.

Pasos de configuración de PHP 5

1. Descarga PHP 5

Antes de comenzar, descargue una copia de PHP 5 desde descargar paginas... Descargue el paquete VC6 protegido de la sección Binarios de Windows; es decir, no descargue el instalador. Por ejemplo, seleccione el paquete marcado " Paquete zip PHP 5.2.5", si está en este momento la versión actual es 5.2.5.

Nota: tenga en cuenta que no he probado el siguiente procedimiento con Versiones PHP 5.3, solo desde 5.2.5, que fue ultima versión en el momento de escribir este artículo. En teoría, se deben seguir los mismos pasos para instalar PHP 7.

2. Instale PHP 5

Cree una carpeta para PHP en su disco duro. Sugiero c: php, aunque puede usar un nombre de carpeta y una ubicación diferentes. Personalmente, prefiero no usar nombres con espacios.

Extraiga todos los archivos del archivo descargado a esta carpeta. Para hacer esto, simplemente haga doble clic en el archivo zip. Y luego arrastre todos los archivos a la carpeta c: php.

3. Para aquellos que actualizan el paquete: elimine el antiguo archivo PHP.INI del directorio de Windows.

Si está migrando a PHP 5 con más versión antigua, cambie al directorio de Windows, ( generalmente c: ventanas) y elimine cualquier archivo php.ini que haya colocado allí anteriormente.

4. Configuración de PHP

Vaya a la carpeta c: php y haga una copia del archivo recomendado por php.ini. Nombre archivo nuevo php.ini. Ahora debería tener un archivo c: phpphp.in con el mismo contenido que c: phpphp.ini-recommended.

Nota. Si está utilizando Apache 1, debe mover el archivo php.ini al directorio de Windows ( c: ventanas), o personalizar Variable ambiental RUTA para incluir c: php. Si no sabe cómo hacer esto, simplemente mueva el archivo php.ini a la carpeta c: windows. No es necesario que haga esto si está utilizando Apache 2, ya que más adelante especificaremos la directiva con la ubicación del archivo php.ini en el archivo de configuración de Apache 2.

Para instalar PHP en Windows 7 usando editor de texto (por ejemplo, como el Bloc de notas, que se encuentra en la sección "Sistema" del menú "Inicio")? abra el archivo php.ini. Es posible que deba realizar los siguientes cambios en el archivo:

a) Incluyendo etiquetas abiertas cortas

Busque la siguiente línea:

short_open_tag = Desactivado

Si short_open_tag está desactivado, etiquetas como "

Dado que muchos scripts PHP de terceros utilizan el "

short_open_tag = Activado

b) Citas mágicas

Al instalar Apache PHP de forma predeterminada, los datos entrantes no se escapan automáticamente con una barra. Si desea que su entrada tenga como prefijo una barra invertida (""), por ejemplo, para reproducir su configuración de alojamiento, busque la siguiente línea:

magic_quotes_gpc = Desactivado

y reemplácelo con:

magic_quotes_gpc = Activado

No se recomienda hacer esto si este parámetro no está especificado en el alojamiento. Incluso cuando está desactivado, puede utilizarlo en Función PHP addedlashes () para agregar barras para datos específicos.

c) Usar variables globales

Una serie de scripts antiguos, cuando se ejecutan, asumen que todos los datos enviados a través de un formulario tendrán automáticamente una variable PHP con el mismo nombre. Por ejemplo, si un formulario tiene un campo de entrada llamado "algo", los antiguos scripts PHP suponen que el procesador PHP creará automáticamente una variable llamada $ algo que contiene el valor especificado a través de ese campo.

Si está utilizando dichos scripts, debe encontrar la siguiente línea:

register_globals = Desactivado

y cámbielo a:

register_globals = Activado

Advertencia: cuando instale PHP en Windows, no haga esto a menos que tenga scripts de terceros que lo necesiten para funcionar. Al escribir nuevos scripts, siempre es mejor asumir que el elemento register_globals está configurado en " Apagado«.

d) Pantalla de error

En un sitio en vivo, los errores de secuencia de comandos generalmente se registran sin que se muestren en el archivo de error de PHP. Pero en una máquina local, mientras está probando y depurando un script PHP, es más conveniente enviar mensajes de error cuando se detectan directamente en la ventana del navegador. De esta manera, no perderá errores incluso si olvida verificar el archivo de registro de errores.

Para que PHP muestre mensajes de error directamente en la ventana del navegador, busque la siguiente línea:

display_errors = Apagado

y cámbielo a:

display_errors = Activado

Este parámetro siempre debe establecerse en Desactivado en un sitio en vivo.

e) Ruta de la sesión

Si el script usa sesiones, busque la siguiente línea:

; session.save_path = "/ tmp"

session.save_path especifica la carpeta donde PHP guarda los archivos de sesión. Dado que la carpeta / tmp no existe en Windows, debe instalar una carpeta diferente. Una forma es crear una carpeta llamada c: tmp ( como creamos anteriormente c: php) y especifique esta carpeta para este parámetro. Si lo hace, cambie la línea dada de la siguiente manera:

session.save_path = "c: tmp"

Tenga en cuenta que, además de cambiar la ruta, también eliminé el prefijo de punto y coma (";") de la cadena.

También puede usar la carpeta TEMP actual en su computadora. O cree una carpeta tmp en su directorio PHP como c: phptmp y ajuste el archivo de configuración en consecuencia. Hay muchas opciones posibles. Si no puede decidir cuál elegir, simplemente cree c: php y haga lo que dije anteriormente.

f) Servidor SMTP

Al instalar PHP 5 5, si el script usa la función mail () y desea que la función envíe correo correctamente en la computadora local, busque la siguiente sección:

; Solo para Win32. SMTP = localhost smtp_port = 25; Solo para Win32. ; sendmail_from = [correo electrónico protegido]

Cámbielo con la dirección de su servidor SMTP y su cuenta de correo electrónico. Por ejemplo, si tu Servidor SMTP mail.example.com y la dirección de correo electrónico es [correo electrónico protegido], cambia tu código así:

SMTP = mail.example.com smtp_port = 25 sendmail_from = [correo electrónico protegido]

Tenga en cuenta que después de esto, cuando el script intente utilizar la función mail (), deberá conectarse a su ISP para que funcione correctamente. Si no cambia las líneas anteriores e intenta usar la función mail () en el script, la función devolverá un código de falla y mostrará un mensaje de error.

Cómo configurar Apache para PHP 5

Hay dos formas de instalar Apache PHP. Primero: configúrelo para arrancar Intérprete de PHP como módulo de Apache. En segundo lugar, configúrelo para ejecutar el intérprete como un CGI binario. Solo es necesario aplicar uno de ellos. Seleccione el método del módulo si PHP también está instalado en el alojamiento como un módulo de Apache, o utilice el método CGI si está implementado en el alojamiento.

a) Ejecutando PHP 5 como un módulo de Apache

Para configurar Apache para cargar PHP como un módulo para analizar scripts PHP, use un editor de texto ASCII para abrir el archivo de configuración de Apache, httpd.conf.

Si está utilizando Apache 1.x, el archivo se encuentra en la carpeta c: Archivos de programaApache GroupApacheconf... Los usuarios de Apache 2.0.x pueden encontrarlo en la carpeta C: Archivos de programa Apache GroupApache2conf y los usuarios de Apache 2.2.x están en la carpeta C: Archivos de programaApache Software FoundationApache2.2conf... Normalmente, se encuentra en la carpeta conf del directorio donde está instalado Apache.

Busque la sección del archivo que contiene las instrucciones LoadModule. Las declaraciones precedidas por el símbolo de almohadilla "#" se consideran comentadas.

Si está utilizando Apache 1.x, agregue la siguiente línea después de todas las declaraciones LoadModule:

LoadModule php5_module "c: /php/php5apache.dll"

Si está utilizando Apache 2.0.x, agregue la siguiente línea después de todas las declaraciones LoadModule:

LoadModule php5_module "c: /php/php5apache2.dll"

Si está utilizando Apache 2.2.x agregue la siguiente línea:

LoadModule php5_module "c: /php/php5apache2_2.dll"

Tenga en cuenta que este ejemplo de instalación de PHP utiliza el carácter de barra inclinada ("/") en lugar de la barra invertida tradicional de Windows (""). Esto no es un error tipográfico.

Si está utilizando Apache 1.x, busque la serie de declaraciones "AddModule" y agregue lo siguiente después de todas las líneas.

AddModule mod_php5.c

Luego busque el bloque AddType en el archivo y agregue la siguiente línea después de la última declaración AddType. Esto debe hacerse independientemente de la versión de Apache que esté utilizando. Para Apache 2.2.x, debe encontrar las líneas AddType en la sección ... Agregue una línea justo antes de cerrarpara esta sección.

Si necesita soporte para otros tipos de archivos, por ejemplo ".phtml", agréguelos a la lista, por ejemplo, así:

Para aquellos que usan una de las versiones de Apache 2, deben especificar la ubicación del archivo ini de PHP. Agregue la siguiente línea al final de su httpd.conf.

PHPIniDir "c: / php"

Si usó un directorio diferente, deberá cambiar c: / php a la ruta correcta. No olvide utilizar la barra inclinada ("/").

Si está utilizando Apache 1, ya ha colocado el archivo php.ini en su carpeta de Windows o en otro lugar de su RUTA. Por lo tanto, PHP tendrá que encontrarlo por sí solo.

Ejecutando PHP 5 como un binario CGI

Si configuró PHP 5 para que se cargue como un módulo de Apache, puede omitir esta sección. Está destinado a aquellos que desean configurar PHP para que se ejecute como un binario CGI.

El procedimiento para hacer esto al instalar PHP 7 es el mismo para Apache 1.xy todas las versiones de la serie 2.x.

Busque la parte del archivo de configuración de Apache que contiene la sección ScriptAlias. Agregue la línea siguiente justo después de la línea ScriptAlias ​​para " cgi-bin". Si usa Apache 2.2.x, asegúrese de que la línea esté antes del cierrepara la sección .

Nota: si instaló PHP en una ubicación diferente, por ejemplo c: Program Filesphp, debe especificar la ruta apropiada en lugar de c: / php / (por ejemplo, c: Program Filesphp)... Recuerde que estamos usando una barra diagonal simple ("/") aquí en lugar de la barra invertida de Windows ("").

ScriptAlias ​​/ php / "c: / php /"

Apache necesita configurar el tipo PHP MIME. Busque el bloque de comentarios AddType que explica su uso y agregue la siguiente línea debajo de él. Para Apache 2.2.x, busque las líneas AddType en ... Agregue la línea debajo justo antes de cerrar para esta sección.

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

Al igual que con la instalación de PHP como un módulo de Apache, puede agregar cualquier extensión para que Apache las reconozca como scripts de PHP, por ejemplo:

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

Luego, debe decirle al servidor que ejecute el ejecutable PHP cada vez que encuentre un script PHP. Agregue el siguiente código al archivo, por ejemplo, después del bloque de comentarios que explica " Acción«.

Si está utilizando Apache 2.2.x, agregue el código justo después de la declaración AddType anterior; no hay bloque de comentarios en Apache 2.2.x " Acción«.

Aplicación de acción / x-httpd-php "/php/php-cgi.exe"

Nota: la parte "/ php /" se reconocerá como ScriptAlias, una especie de macro que Apache expandirá a "c: / php /" ( o "c: / Archivos de programa / php /" si instaló PHP allí). En otras palabras, no ponga la ruta "c: /php/php.exe" en esta directiva o "C: / Archivos de programa / php / php.exe" y use "/php/php-cgi.exe".

Si está utilizando Apache 2.2.x, busque la siguiente sección en su archivo httpd.conf:

Agregue las líneas de abajo justo después de la sección que acaba de encontrar.

AllowOverride Ninguna Opciones Ninguna Orden permitir, denegar Permitir de todos

c) Configuración de la página de índice predeterminada

Esta sección se refiere a la opción de instalar PHP en Windows como módulo Apache y CGI binario.

Si está creando un archivo index.php y desea que Apache lo cargue como la página de inicio de su sitio, deberá agregar otra línea a su archivo httpd.conf. Busque la línea que comienza con " DirectoryIndex", Y añadir" index.php»Ir a la lista de archivos. Por ejemplo, si tuviera un código como este:

DirectoryIndex index.html

cámbielo a:

DirectoryIndex index.php index.html

La próxima vez que inicie sesión en el servidor web con el nombre del directorio, por ejemplo " localhost" o " localhost / directorio /", Apache enviará todos los scripts de index.php o el contenido del archivo index.html si index.php no está disponible.

Reinicie el servidor web Apache

Reinicie su servidor Apache. Esto es necesario para que Apache lea las nuevas directivas de configuración de PHP que colocó en su archivo httpd.conf. El servidor Apache 2.2 se puede reiniciar haciendo doble clic en el icono de Apache Service Monitor en la barra de tareas y haciendo clic en el botón "Reiniciar" en la ventana que aparece.

Probando su instalación de PHP

Después de instalar PHP 5 5 u otra versión del idioma, cree un archivo php con la siguiente línea:

Guarde un archivo llamado test.php en el directorio htdocs de Apache. Si está utilizando el Bloc de notas, recuerde mantener el nombre " test.php"Con comillas. De lo contrario, el programa agregará la extensión .txt por sí solo.

Abra este archivo en un navegador ingresando "localhost / test.php" en la barra de direcciones (sin comillas). No abra el archivo directamente a través del explorador; solo verá el código que ingresó anteriormente. Debe utilizar la URL anterior para que el navegador intente acceder al servidor web Apache que ejecuta PHP para interpretar el script.

Si todo va bien, verá una página con información sobre la configuración de PHP. Enhorabuena, ha instalado PHP con éxito y ha configurado Apache para que funcione con él. Puede cargar el mismo archivo test.php en su alojamiento y ejecutarlo allí para averiguar cómo el alojamiento configuró PHP en sí mismo e intentar reproducir estas configuraciones en su máquina.

Si eso no funciona, verifique si su instalación de PHP o Apache arroja errores. Para hacer esto, abra una ventana del símbolo del sistema y ejecute php-cgi.exe en el archivo test.php, por ejemplo, c: phpphp-cgi test.php.

Si invoca PHP desde la línea de comandos y ve un archivo HTML grande con toda la información de configuración de PHP, entonces PHP está configurado correctamente. El problema probablemente esté relacionado con la configuración de Apache. Asegúrese de reiniciar Apache después de realizar cambios de configuración y de haber configurado su servidor web correctamente.

Aprendiendo PHP

Se puede encontrar una guía de referencia completa para instalar PHP en el sitio web oficial de la tecnología. Se puede ver en línea o descargar para estudiarlo sin conexión.

¡Que tengan un buen día todos!

Esta publicación es una traducción del artículo " Cómo instalar y configurar PHP 5 para que se ejecute con Apache en Windows"Preparado por el amable equipo del proyecto

Los desarrolladores de aplicaciones web pueden tener dificultades para instalar el lenguaje de programación PHP en Ubuntu Server. Esto se debe a muchos factores. Pero al usar esta guía, todos pueden evitar errores durante la instalación.

La instalación de PHP en Ubuntu Server se puede realizar de diferentes formas; todo depende de su versión y de la versión del sistema operativo en sí. Y la principal diferencia radica en los propios comandos que deberán ejecutarse.

También vale la pena señalar que el paquete PHP incluye varios componentes que se pueden instalar por separado si se desea.

Método 1: instalación estándar

La instalación estándar asume la última versión del paquete. Es diferente para cada sistema operativo de Ubuntu Server:

  • 12.04 LTS (Preciso) - 5.3;
  • 14.04 LTS (Confianza) - 5.5;
  • 15,10 (Wily) - 5,6;
  • 16.04 LTS (Xenial) - 7.0.

Todos los paquetes se distribuyen a través del repositorio oficial del sistema operativo, por lo que no es necesario conectar uno de terceros. Pero la instalación del paquete completo se realiza en dos versiones y depende de la versión del sistema operativo. Entonces, para instalar PHP en Ubuntu Server 16.04, ejecute este comando:

sudo apt-get install php

Y para versiones anteriores:

sudo apt-get install php5

Si no necesita todos los componentes del paquete PHP en su sistema, puede instalarlos por separado. A continuación se describe cómo hacer esto y qué comandos necesita ejecutar para esto.

Módulo de servidor HTTP Apache

Para instalar el módulo PHP para Apache en Ubuntu Server 16.04, debe ejecutar el siguiente comando:

sudo apt-get install libapache2-mod-php

En versiones anteriores del sistema operativo:

sudo apt-get install libapache2-mod-php5

Se le pedirá una contraseña, después de ingresarla, debe dar permiso para instalar. Para hacer esto, ingrese la letra "D" o "Y"(dependiendo de la localización de su servidor Ubuntu) y haga clic en Ingresar.

Para instalar el módulo FPM en la versión 16.04 del sistema operativo, haga lo siguiente:

sudo apt-get install php-fpm

En versiones anteriores:

sudo apt-get install php5-fpm

En este caso, la instalación comenzará automáticamente, inmediatamente después de ingresar la contraseña de superusuario.

La CLI es necesaria para los desarrolladores que crean programas de consola en PHP. Para implementar este lenguaje de programación en él, en Ubuntu 16.04 debe ejecutar el comando:

sudo apt-get install php-cli

En versiones anteriores:

sudo apt-get install php5-cli

Extensiones PHP

Para implementar todas las funciones de PHP posibles, vale la pena instalar una serie de extensiones para los programas que está utilizando. A continuación, se presentarán los comandos más populares para realizar dicha instalación.

Nota: A continuación, se proporcionarán dos comandos para cada extensión, donde el primero es para Ubuntu Server 16.04 y el segundo es para versiones anteriores del sistema operativo.


La tendencia hacia PHP 7 está ganando impulso. Debido a que funciona más rápido (¡objetivamente!), Es más conveniente para el desarrollo (pero no es exacto, más o menos).

El mismo WordPress ha podido trabajar en nuevas versiones de PHP durante mucho tiempo. Y otros CMS populares no se quedan atrás. Por lo tanto, tiene sentido transferir servidores completos a esta versión. Pero hay un problema en que el software de los repositorios oficiales de las distribuciones de Linux no tiene prisa por actualizarse. Para instalar algo nuevo, como regla general, debe piratear con repositorios adicionales. Seguramente no hay ningún problema con esto si está utilizando un alojamiento virtual. Pero si mantiene los sitios en sus propios servidores o VPS, entonces ya debe preocuparse por actualizar e instalar la última versión de PHP. Y como en el 80% de los casos los servidores utilizan el panel de control de ISPmanager 5, hablaremos de configurar PHP 7 en él. ¿Por qué estoy escribiendo sobre esto y no sobre el soporte del sistema ISP? Y xs, porque en su manual no se dice nada al respecto.

¿Qué versiones de PHP están instaladas en las distribuciones de Linux de forma predeterminada?

Los anfitriones suelen ofrecer dicho sistema operativo para su instalación en VPS o servidores dedicados:

versión del sistema operativo Versión de PHP predeterminada
Debian 7 PHP 5.4
Debian 8 PHP 5.6
Centos 6 PHP 5.3
Centos 7 PHP 5.4
Ubuntu 14.04 PHP 5.5
Ubuntu 16.04 PHP 7.0

Por supuesto, hay otras opciones, o viceversa, puede que no haya algo de esta lista. Pero las versiones más recientes, Debian 8, Centos 7 y Ubuntu 16.04, estarán disponibles para casi cualquier empresa de alojamiento. De estos tres, solo el último puede presumir de tener instalado PHP 7. Pero tiene otros problemas: es relativamente nuevo y puede detectar algunos fallos y errores incomprensibles en él. En mi experiencia, los servidores de Ubuntu pueden usar versiones LTS (incluso 04) solo 2 años después del lanzamiento. Como mínimo, esto es más fácil que buscar durante mucho tiempo e identificar problemas que, en principio, no deberían existir. Los he experimentado varias veces con el rendimiento de algún software en las últimas versiones de Ubuntu.

Acerca de las versiones de Ubuntu

Acerca de las versiones de Ubuntu

En general, soy un gran fanático de ubuntu. Durante muchos años y muchos servidores me he dedicado a trabajar con ella. Este es un sistema operativo excelente y conveniente para sitios en su servidor. Pero ese era el sector empresarial, donde todo se recopila, depura y configura de forma individual. Sin embargo, cuando comencé a trabajar con servidores cliente de webmasters, me encontré con el hecho de que ni Ubuntu ni Debian son tan buenos como Centos, y Centos 7 en particular. También es recomendado por los desarrolladores del panel de control ISPmanager. En la práctica, en los sistemas basados ​​en deb (ubuntu también se refiere a ellos), encontré algunos fallos con este panel. Con centos, casi nunca sucedió.

En general, esto es una cuestión de facilidad de administración: prácticamente no hay diferencia en el funcionamiento del software y, más aún, prácticamente no hay sitios entre ellos. Sin diferencia de rendimiento, más aún. Pero al instalar y configurar el software, la diferencia ya puede ser decente.

En Debian y Ubuntu, el software viene con algunas configuraciones básicas durante la instalación. Incluso se inicia y funciona inmediatamente después de la instalación, se agrega al inicio. Centos no tiene eso. Configura de forma predeterminada, el software no se inicia automáticamente y algunos deben estar preconfigurados; de lo contrario, simplemente no se iniciará. Por ejemplo, los mismos servidores DBMS: se instalan sin inicializar. Y deben inicializarse (crear una base del sistema) manualmente antes de comenzar.

El mismo PHP 7 - en centos es fácil de instalar simplemente agregando un repositorio adicional. Al menos en la sexta, al menos en la séptima versión. En ubuntu 14.04 o Debian php 7 también se instala desde add. nabos. Pero se coloca allí paralelo al talón predeterminado. Y para que Apache funcione, necesita más. personalización. Pero al usar ISPmanager 5, todo se vuelve mucho más fácil.

Instale PHP 7 en Centos desde repositorios adicionales

He usado este método antes. El caso es que la oportunidad de la que les iba a hablar apareció en ISPmanager hace relativamente poco tiempo. Por lo tanto, tuve que instalar PHP 7 solo desde el repositorio de Remi. Hay otros, pero lo mejor. ISPmanager tiene la capacidad de instalar versiones alternativas de PHP. Pero anteriormente solo se podían usar en modo CGI. Y este modo no es adecuado para todos ni para ningún sitio. (). Anteriormente, para Apache y PHP-FPM, se usaba PHP en todo el sistema, que se llama en el panel nativo. Y su versión coincide exactamente con las que di en la placa al principio del artículo. En concreto, en Centos 7 será 5,4. Entonces, si actualiza la versión nativa a la versión requerida, apache funcionará en ella. Esto se ha hecho antes.

No es dificil.

Descargue e instale el repositorio de Remi:

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Permitimos su uso:

En archivo /etc/yum.repos.d/remi-php70.repo necesario para el primer nabo enable use - enabled debe tener un valor de 1. Por defecto, hay 0, lo que significa que el repositorio no se usa. Hay otra forma de habilitarlo, usando la opción del instalador de paquetes, pero yo uso esta, porque es más fácil de recordar y más fácil de entender.

yum install -y php

Esto actualizará el php nativo a la versión 7.0. Después de la actualización, puede reiniciar el panel para que "vea" la actualización:

/ usr / local / mgr5 / sbin / mgrctl -m ispmgr salir

Para hacer esto, solo necesita detenerlo así desde la consola y reiniciarlo en el navegador. Bueno, o no puedes hacer esto, en cualquier caso, php 7 ya está en el servidor y será el que se usará en el modo de módulo Apache o php-fpm. (Por cierto, puedes hacer mucho desde la consola en general)

Pero este es el camino - la llamada "muleta". Desde hace algún tiempo, no debes usarlo.

Habilitando PHP 7 como módulo Apache en el panel ISPmanager 5

Dado que con las actualizaciones periódicas del panel se hizo posible utilizar cualquier versión de PHP, desde las que se instalan como alternativas y que anteriormente solo estaban disponibles en modo CGI. El llamado selector de versiones de PHP. Característica impresionante, recomiendo usar ISPmanager solo para eso. En ningún otro lugar existe tanta comodidad y simplicidad. Esto lo digo yo, el administrador, que, sin falsa modestia, se comió un perro montando servidores sin paneles, y ahora con paneles. Solo aquí puede configurar fácil y simplemente su propia versión de PHP para cada sitio, desde la antigua 5.2, que era relevante cuando realmente no había empezado a trabajar, hasta la 7.1 más nueva.

En el menú de opciones, debe instalar estas mismas versiones alternativas. Después de eso, será posible usar el selector para cada sitio, pero solo en modo CGI.

De forma predeterminada, las versiones alternativas solo están habilitadas para los modos CGI y PHP-FPM (más recientemente).

Pero en el modo de módulo Apache, no podrá iniciar estas versiones de inmediato. El botón correspondiente en el menú PHP simplemente está atenuado.

Durante bastante tiempo no pude entender por qué esto es así y cómo usar esta función de todos modos. Y acabo de instalar la versión requerida de PHP de remy, en la forma de muleta descrita anteriormente. Hasta hoy pedí el apoyo, pero ¿dónde? Además, previamente busqué en Google a conciencia, encontré y leí el documento oficial sobre la configuración de versiones de PHP y no encontré nada en él.

Resultó que el cofre se abrió simplemente:

Debe hacer doble clic en la versión de PHP requerida en el menú "Funciones".... En particular 7.0. Y hay una opción correspondiente para instalar esta versión de php como módulo de Apache.

Después de eso, regrese a la sección PHP y allí el botón se activará para la versión requerida.

Bueno, aquí ya he cambiado a la séptima versión, por lo que muestro el botón activo en la versión nativa 5.4.

Todo este método anterior debería funcionar tanto en Debian como en Ubuntu. En la práctica, todavía no lo he probado. Verificar - darse de baja pliz. Pero el método "muleta" en estos SO será aún más muleta que en Centos, porque allí PHP 7 se instala en paralelo con la 5ª versión y el sistema produce DOS versiones de PHP nativo. Y aquí me gustaría resolverlo 🙂 Por eso recomiendo centos.

Habilite una versión alternativa de PHP 7 para el modo NGINX + PHP-FPM en ISPmanager 5

Es bastante simple. Después de instalar la versión alternativa, se instalará para PHP-FPM de forma predeterminada. Es suficiente habilitar la versión requerida en la configuración del usuario:

Después de eso, todos los sitios en modo PHP-FPM para este usuario funcionarán en php7.

¿Cómo verificar la versión PHP de un sitio específico y dónde encontrar su configuración, archivo php.ini?

A veces, si está utilizando varias versiones de PHP en el servidor, es posible que tenga dudas de que esté utilizando la versión exacta que iba a compilar. También es una buena idea verificar la presencia / ausencia de los módulos requeridos. O el modo de operación PHP: que este es exactamente el módulo de apache, y no cgi. Una forma confiable y 100% funcional de verificar esto es agregar el archivo info.php a la raíz del sitio deseado. Su contenido debe ser el siguiente:

phpinfo (INFO_MODULES);

Luego, vaya a site.com/info.php y vea un desglose completo de los problemas en los que lo atormentaron las dudas:

Además, tenga en cuenta que el archivo de configuración principal de la versión alternativa de PHP incluida de esta manera no está en absoluto donde usted espera. Esto a veces puede llevar a búsquedas largas y malentendidos por qué no es posible cambiar este o aquel parámetro en la configuración de PHP. Lo busca en /etc/php.ini, pero el sitio usa php configurado en un lugar completamente diferente.

Use phpinfo en cualquier situación poco clara, puede ahorrarle mucho tiempo y nervios.

Bueno, eso es todo para mí, resuelto con la parte práctica de administración. Además, un poco de filosofía.

¿Por qué usar PHP 7?

Y el idiota lo conoce. No soy desarrollador, no entiendo todos los encantos. Sin embargo, se ha observado que ejecuta código notablemente más rápido que las versiones anteriores. Estos son los resultados dados al probar el trabajo de drupal en PHP7 en probablemente un estudio bien conocido de PHP 7 y cachés en Habré:

Como puede ver, es casi 2 veces más rápido que las versiones anteriores. Por ejemplo, en un servidor de referencia con SSD, un WordPress vacío de referencia mostrará aproximadamente 400-500 milisegundos TTFB. Pero en php 7 con el acelerador opcache wp habilitado y configurado, puede funcionar con un tiempo de respuesta de 150-250 ms. O puede que no funcione 🙂 Porque puedes poner una plantilla premium increíble del monstruo de la plantilla en ella, y luego preguntarte por qué se carga durante 3-5 segundos (esto es solo TTFB, pero visualmente hay todos los 10-20. ). Y también para sentirse como un idiota, porque en la demo de desarrolladores todo vuela, se abre en 100-200 ms. Después de todo, no sabes que todo está almacenado en caché en ebony, no necesitan que interactúes de alguna manera con el sitio, solo necesitas vendértelo 🙂 Y ese wordpress en sí ni siquiera participa en la generación de páginas allí - todo lo hace nginx, y es desde el caché que se da al instante. Pero esto es así, una digresión lírica de una dolorosa.

En general, se ha acumulado mucha experiencia sobre el tema de la optimización y el overclocking del tiempo de respuesta, y es muy probable que algún día la derrame sobre sus cabezas, mis queridos lectores 🙂 Además, la optimización y aceleración de los escritores de artículos es una cosa, tengo ya escribí algo sobre esto. Pero sobre el tema de la optimización de las tiendas y los servicios en línea, hay una conversación separada, y creo que debería ser especialmente interesante. ¿Entonces?

Del autor: un amigo (todavía ese "maestro de caso corrupto") decidió armar el guardarropa por su cuenta. Como resultado, después de varias horas de tormento, solo tenía una mesa. Se produjo tal metamorfosis. Para no encontrarse en una situación similar, veamos cómo instalar PHP correctamente.

Lo que PHP no funcionará sin

- no es un lenguaje ordinario, sino un lenguaje de servidor. Debido a esto, simplemente instalar un intérprete de idiomas no será suficiente. Para que pueda ejecutar el código en su computadora personal, necesita un servidor local.

Hay suficiente bondad en la red mundial. No enumeraremos las ventajas y desventajas de cada uno de los servidores. En su lugar, describiremos el proceso de instalación del Apache probado por el tiempo, que se ha asociado durante mucho tiempo con el desarrollo de PHP.

La historia de este producto se detalla en Wikipedia. Dado que la confiabilidad de Apache ha sido probada por muchos años de uso "despiadado", no perderá su valioso tiempo en pruebas. Intentemos instalar de forma independiente un servidor PHP en una PC con Windows.

Instalación del "indio"

Considere la instalación paso a paso de un servidor de tribus indias Apache:

Vamos a Apache.org, en el menú de la derecha hacemos clic en "Descargar". Después de eso, en la lista provista de espejos, seleccione cualquiera y descargue la instalación con la extensión .msi (formato nativo para Windows) y una versión no inferior a 2.2

Dado que el proyecto es de código abierto, ahora muchos ensamblajes de este servidor se han "divorciado". Si no puede encontrar el especificado, vaya a esta dirección. Las versiones nativas de Apache están disponibles para descargar aquí en el espejo.

Después de la descarga, lanzamos el paquete de instalación para su ejecución. El procedimiento de instalación es estándar: aceptamos los términos de uso, indicamos el nombre del dominio y servidor, "jabón" del administrador. Luego "Siguiente".

Especifique el directorio donde se debe instalar el servidor PHP Apache.

Y estamos esperando que se complete el proceso de instalación del software. Vaya al directorio donde instaló Apache. Busque httpd.conf en la carpeta de configuración y ábralo. Busque la línea "Denegar a todos" y comente esta directiva. Por lo tanto, eliminamos la protección del servidor incorporada, que no es necesaria para el uso local de Apache. Es decir, abrimos el acceso a todas las carpetas, incluidas las virtuales. Si esto no se hace, entonces el programa, al intentar acceder a cualquiera de los directorios, generará un error "403".

Guarde todos los cambios y reinicie el servidor.

Pasando a PHP

Vaya a php.net y descargue una de las versiones "86" del kit de distribución (mejor protegida). Luego lo descomprimimos en una carpeta separada en el mismo disco que el servidor. No describiré completamente todas las opciones de idioma que se pueden cambiar. Puede leer más sobre esto en la documentación técnica adjunta.

Me gustaría señalar que todos Configuración de PHP se establecen en el archivo php.ini. Se abre con cualquier editor (incluido el Bloc de notas). Daré una descripción de varios parámetros de uso común que se establecen a través de este archivo:

post_max_size: establece la cantidad máxima de datos que se pueden procesar a la vez mediante el método POST.

upload_max_filesize es el tamaño máximo de archivos que se pueden cargar.

default_charset: con este parámetro, puede establecer la codificación predeterminada en utf 8 en PHP.

Ahora, para completa felicidad, queda registrar algunas líneas en httpd.conf. Con estos, conectaremos PHP al servidor local para que funcione como un módulo de Apache. Esto es suficiente para escribir y probar código en casa. Estas líneas deben colocarse en el medio del archivo:

LoadModule php5_module ruta a la instalación de PHP / php5apache2_2.dll: conecta la biblioteca con la que se utilizará la distribución como módulo.

PHPIniDir "ruta a php.ini /" (por ejemplo, PHPIniDir "F: /php-5.3.5/") - comprensible sin palabras.

Aplicación AddType / x-httpd-php phtml php: configura la correspondencia entre los archivos PHP y el tipo mime (aplicación / x-httpd-php).

¿Cómo es? La configuración requiere tiempo, concentración y habilidad. ¿Alguna vez has pensado que la forma más sencilla ya está montada en "armario". Aunque en nuestro caso, un gabinete significa un paquete de software listo para usar, que incluye PHP, un servidor y un DBMS. Está claro que estamos hablando de Denver. Gracias a él, ningún "armario" podrá convertirse bajo las "hábiles" manos de un especialista en una especie de "mesa" o "mesita de noche".