PHP (Español)

PHP es un lenguaje de secuencias de órdenes de uso general muy utilizado que es especialmente adecuado para el desarrollo web y puede integrarse en HTML.

Esta traducción de PHP fue revisada el 2021-02-14. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Instalación

Instale el paquete php del repositorio oficial.

Puede encontrar versiones anteriores de PHP en AUR, tales como php53AUR, php55AUR, php56AUR, php70AUR, php71AUR, php72AUR, php73AUR y php74AUR.

Ejecución

Si bien PHP se puede ejecutar de forma independiente, generalmente se utiliza con servidores web. Eso requiere instalar paquetes adicionales y editar archivos de configuración. Para configuraciones comunes, véase Apache HTTP Server, nginx, lighttpd y Hiawatha. Para ejecutar scripts PHP como CGI simple, necesita el paquete .

Configuración

El archivo principal de configuración de PHP está bien documentado y ubicado en /etc/php/php.ini.

date.timezone = Europe/Madrid
  • Si quiere mostrar los errores para depurar su código PHP, cambie a On en /etc/php/php.ini:
display_errors = On
  • La directiva open_basedir limita las rutas a las que puede acceder PHP, aumentando así la seguridad a costa de interferir potencialmente con la ejecución normal del programa. A partir de PHP 7.0, ya no está configurado de forma predeterminada para que coincida más estrechamente con el flujo ascendente, por lo que los usuarios que deseen usarlo deben configurarlo manualmente. Todos los enlaces simbólicos están resueltos, por lo que no es posible evitar esta restricción con un enlace simbólico. Los paquetes Arch predeterminados para ciertas aplicaciones web como y phpmyadmin instalan las aplicaciones web en y crean un enlace simbólico que apunta a los archivos de configuración reales para dichas aplicaciones web en . Por lo tanto, si está configurando , asegúrese de que ambas carpetas estén en . Obviamente, esto será diferente para las aplicaciones web instaladas en otras ubicaciones. Por ejemplo:
open_basedir = /srv/http/:/var/www/:/home/:/tmp/:/var/tmp/:/var/cache/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/

Extensiones

También se pueden encontrar varias extensiones PHP de uso común en los repositorios oficiales:

$ pacman -Ss php-

Las extensiones para versiones actuales y anteriores de PHP también están disponibles en AUR con el prefijo php-* y php56-*, por ejemplo , y .

gd

Para descomente en /etc/php/php.ini la línea:

extension=gd

Imagemagick

Instale) el paquete imagemagick y una de las bibliotecas de extensión PHP enumeradas.

Instale , creará el archivo para configurar la extensión.

PECL

Asegúrese de que se haya instalado el paquete php-pearAUR:

# pecl install imagick

Cree y active la extensión:

Multihilo

Si desea tener POSIX multihilo, necesitará la extensión paralelo. Para instalar la extensión usando , se requiere que use una versión compilada de PHP con la opción de soporte de seguridad de subprocesos . Actualmente, la forma más limpia de hacer esto sería reconstruir el paquete original con la opción. Las instrucciones se pueden encontrar en la página PHP pthreads extension.

PCNTL

PCNTL le permite crear procesos directamente en la máquina del lado del servidor. Si bien esto puede verse como algo que desearía, también le da a PHP el poder de estropear las cosas realmente. Por lo tanto, es una extensión de PHP que no se puede cargar como otra extensión más conveniente. Esto se debe al gran poder que le da a PHP. Para activarlo, PCNTL debe estar compilado en PHP.

El paquete php en Arch Linux está actualmente construido con "--enable-pcntl", por lo que debería estar disponible por defecto.

MySQL/MariaDB

Instale y configure MySQL/MariaDB como se describe en MariaDB.

Descomente las líneas siguientes en /etc/php/php.ini:

extension=pdo_mysql
extension=mysqli

Puede añadir usuarios menores de MySQL con privilegios para sus scripts web. Es posible que también quiera editar y añadir la línea de la sección mysqld para que solo se pueda acceder al servidor MySQL por localhost, según MariaDB#Enable access locally only via Unix sockets. Debe reiniciar MySQL para que los cambios surtan efecto.

Redis

Instale y configure Redis, luego instale .

Descomente la línea del paquete, por ejemplo . También asegúrese de que la extensión igbinary esté activada (también descomentada) en /etc/php/conf.d/igbinary.ini

PostgreSQL

Instale y configure PostgreSQL, luego instale el paquete y descomente las siguientes líneas en /etc/php/php.ini:

extension=pdo_pgsql
extension=pgsql

Sqlite

Instale y configure SQLite, luego instale el paquete php-sqlite y descomente las siguientes líneas en /etc/php/php.ini:

extension=pdo_sqlite
extension=sqlite3

XDebug

XDebug le permite depurar fácilmente el código php usando la función var_dump() modificada. Instale y descomente las líneas en .

zend_extension=xdebug
xdebug.mode=debug

IMAP

Instale y descomente en /etc/php/php.ini la línea:

extension=imap

Caching

Hay dos tipos de almacenamiento en caché en PHP: caché de código de operación/código de bytes (opcode) y caché de área de usuario/datos de usuario (userland). Ambos permiten ganancias sustanciales en la velocidad de las aplicaciones y, por lo tanto, deben activarse siempre que sea posible.

  • Zend OPCache proporciona solo caché de código de operación.
  • APCu proporciona solo caché de área de usuario.

OPCache

OPCache viene incluido con la distribución PHP estándar, por lo tanto, para activarlo simplemente tiene que añadir o descomentar la siguiente línea en su archivo de configuración PHP:

Puede encontrar una lista de sus opciones y configuraciones sugeridas en el sitio web de PHP.

APCu

APCu se puede instalar con el paquete . Luego puede activarlo descomentando la siguiente línea en /etc/php/conf.d/apcu.ini, o añadiéndola a su archivo de configuración PHP:

extension=apcu

Su autor recomienda algunas configuraciones sugeridas, entre las cuales:

Herramientas de desarrollo

  • Komodo IDE con buena integración para PHP+HTML+JavaScript.
http://komodoide.com/ || komodo-ideAUR, editor only: komodo-editAUR

Herramientas de línea de órdenes

Compositor

Composer es un administrador de dependencias para PHP. Se puede instalar con el paquete composer.

Permitir instalaciones a nivel de usuario

Para permitir instalaciones de paquetes globales para el usuario actual (por ejemplo ), es posible que quiera especificar una ubicación predeterminada mediante una variable de entorno:

PATH="$HOME/.config/composer/vendor/bin:$PATH"

Box

Box es una aplicación para construir y administrar Phars. Se puede instalar con el paquete .

PDepend

PHP Depend (pdepend) es una herramienta de métricas software para php. Se puede instalar con el paquete .

PHP Coding Standards Fixer

PHP Coding Standards Fixer es un corrector de código del estándar de codificación PSR-1 y PSR-2. Se puede instalar con el paquete .

PHP-CodeSniffer

PHP CodeSniffer "tokeniza" archivos PHP, JavaScript y CSS y detecta violaciones de un conjunto definido de estándares de codificación. Se puede instalar con el paquete .

phpcov

phpcov es una interfaz de línea de órdenes para la biblioteca PHP_CodeCoverage. Se puede instalar con el paquete phpcovAUR.

phpDox

phpDox es el generador de documentación para proyectos PHP. Esto incluye, pero no se limita a, la documentación de la API. Se puede instalar con el paquete .

PHPLoc

PHPLoc es una herramienta para medir rápidamente el tamaño de un proyecto PHP. Se puede instalar con el paquete .

PhpMetrics

PhpMetrics proporciona varias métricas sobre proyectos PHP. Se puede instalar con el paquete .

phptok

phptok es una herramienta para descargar rápidamente los "tokens" de un archivo de código fuente PHP. Se puede instalar con el paquete .

PHPUnit

PHPUnit es un marco de pruebas para PHP orientado a programadores. Se puede instalar con el paquete .

PHPUnit Skeleton Generator

PHPUnit Skeleton Generator es una herramienta que puede generar estructuras de clases de prueba a partir de clases de código de producción y viceversa. Se puede instalar con el paquete phpunit-skeleton-generatorAUR.

Producer

Producer es una herramienta de control de calidad de línea de órdenes para validar y luego publicar su paquete de biblioteca PHP. Se puede instalar con el paquete .

Solución de problemas

PHP Fatal error: Class 'ZipArchive' not found

Asegúrese de que la extensión zip esté activada.

/etc/php/php.ini not parsed

Si su no se analiza, el archivo ini recibe el nombre del sapi que está utilizando. Por ejemplo, si está utilizando uwsgi, el archivo se llamaría . Si está usando cli, es .

PHP Warning: PHP Startup: <module>: Unable to initialize module

Cuando se ejecuta php, este error indica que el módulo mencionado anteriormente está desactualizado. Esto rara vez sucederá en Arch Linux, ya que los encargados del mantenimiento se aseguran de que el núcleo PHP y todos los módulos solo estén disponibles en versiones compatibles.

Esto puede suceder junto con un módulo compilado de AUR. Por lo general, puede confirmar esto mirando las fechas de los archivos .

Para solucionarlo, busque una actualización compatible para su módulo, probablemente buscando en AUR usando su nombre común.

Si corresponde, marque el paquete AUR desactualizado como outdated (desactualizado).

Véase también

gollark: Do they?
gollark: Parse string into a base [Number] number.
gollark: ++exec```shghc --version```
gollark: Yes.
gollark: Multiple lines will simplify actually figuring out where an error was from.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.