Instalando a partir de pacotes no Debian GNU/Linux e distribuições relacionadas

O PHP pode ser instalado a partir do código-fonte, mas também está disponível através de pacores do » Debian GNU/Linux. Isto também vale para outras distribuições baseadas em Debian, como Ubuntu, Kali Linux, e Linux Mint.

Aviso

Compilações de terceiros são consideradas não oficiais e não são suportadas diretamente pelo projeto PHP. Quaisquer problemas encontrados devem ser relatados ao fornecedor dessas compilações não oficiais, a menos que possam ser reproduzidos usando as compilações da » área de download oficial.

Os pacotes podem ser instalados usando os comandos apt ou aptitude. Essa página do manual utilizará esses dois comandos intercambiavelmente.

Usando APT

Primeiro veja que outros pacotes relacionados podem ser desejados, como libapache-mod-php para integração com o Apache 2 e php-pear para o PEAR.

Segundo, antes de instalar um pacote é melhor garantir que a lista de pacotes está atualizada. Isso é feito rodando o comando apt update.

Exemplo #1 Exemplo de instalação no Debian com Apache 2

# apt install php-common libapache2-mod-php php-cli

APT instalará automaticamente o módulo do PHP para Apache 2 e todas as suas dependências, depois ativando-o. O Apache deve ser inicializado para que as modificações tenham efeito. Por exemplo:

Exemplo #2 Parando e iniciando o Apache depois do PHP instalado

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Controle melhor as configurações

Até então o PHP foi instalado apenas com os meus módulos principais. É bem provável que módulos adicionais serão desejados, como MySQL, cURL, GD, etc. Estes também podem ser instalados pelo comando apt.

Exemplo #3 Métodos listar pacotes adicionais do PHP

# apt-cache search php
# apt search php | grep -i mysql
# aptitude search php

A lista de pacotes mostrará uma grande quantidade de pacotes incluindo componentes básicos do PHP, como php-cgi, php-cli e php-dev, assim como muitas extensões do PHP. Quando extensões estão instaladas, pacotes adicionais serão instalados automaticamente conforme necessário para satisfazer as dependências desses pacotes.

Exemplo #4 Instalando PHP com MySQL e cURL

# apt install php-mysql php-curl

O APT irá automaticamente adicionar as linhas apropriadas a arquivos php.ini relacionados, como /etc/php/7.4/php.ini, /etc/php/7.4/conf.d/*.ini, etc., e dependendo da da extensão irá ainda acrescentar diretivas similares a extension=foo.so. Entretanto é necessário reiniciar o servidor web para que essas alterações tenham efeito.

Problemas comuns

  • Se os scripts PHP não estão sendo interpretados pelo servidor web, então é provável que o PHP não tenha sido acrescentado aos arquivos de configuração do servidor web, que no Debian pode ser /etc/apache2/apache2.conf ou algo similar. Veja o manual do Debian para mais detalhes.
  • Se uma extensão parece ter sido instalada e ainda assim funções permanecem não definidas, verifique que o arquivo .ini apropriado está sendo carregado e/ou se o servidor web foi reiniciado após a instalação.
adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
73
thumbs at apache dot org
12 years ago
To refresh this document, perhaps it would be worth mentioning more modern methods to serve php content under apache httpd.Specifically, the preferred method is now fastcgi, using either of those recipes:(mod_fastcgi, httpd 2.2)http://wiki.apache.org/httpd/php-fastcgi(mod_fcgid, httpd 2.2)http://wiki.apache.org/httpd/php-fcgid(mod_proxy_fcgi, httpd 2.4)http://wiki.apache.org/httpd/PHP-FPMWhile the legacy mod_php approach is still applicable for some older installations, the fastcgi method is much faster, and require much less RAM to operate, based on similar traffic patterns.Thank you!
up
42
kearney dot taaffe at gmail dot com
7 years ago
Compiling PHP on Ubuntu boxes.If you would like to compile PHP from source as opposed to relying on package maintainers, here's a list of packages, and commands you can runSTEP 1:sudo apt-get install autoconf build-essential curl libtool \  libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \  libreadline-dev libzip-dev libzip4 nginx openssl \  pkg-config zlib1g-devSo you don't overwrite any existing PHP installs on your system, install PHP in your home directory. Create a directory for the PHP binaries to live    mkdir -p ~/bin/php7-latest/STEP 2:# download the latest PHP tarball, decompress it, then cd to the new directory.STEP 3:Configure PHP. Remove any options you don't need (like MySQL or Postgres (--with-pdo-pgsql))./configure --prefix=$HOME/bin/php-latest \    --enable-mysqlnd \    --with-pdo-mysql \    --with-pdo-mysql=mysqlnd \    --with-pdo-pgsql=/usr/bin/pg_config \    --enable-bcmath \    --enable-fpm \    --with-fpm-user=www-data \    --with-fpm-group=www-data \    --enable-mbstring \    --enable-phpdbg \    --enable-shmop \    --enable-sockets \    --enable-sysvmsg \    --enable-sysvsem \    --enable-sysvshm \    --enable-zip \    --with-libzip=/usr/lib/x86_64-linux-gnu \    --with-zlib \    --with-curl \    --with-pear \    --with-openssl \    --enable-pcntl \    --with-readlineSTEP 4:compile the binaries by typing: makeIf no errors, install by typing: make installSTEP 5:Copy the PHP.ini file to the install directory    cp php.ini-development ~/bin/php-latest/lib/ STEP 6:cd ~/bin/php-latest/etc; mv php-fpm.conf.default php-fpm.confmv php-fpm.d/www.conf.default php-fpm.d/www.confSTEP 7:create symbolic links for your for your binary files   cd ~/bin   ln -s php-latest/bin/php php   ln -s php-latest/bin/php-cgi php-cgi   ln -s php-latest/bin/php-config php-config   ln -s php-latest/bin/phpize phpize   ln -s php-latest/bin/phar.phar phar   ln -s php-latest/bin/pear pear   ln -s php-latest/bin/phpdbg phpdbg   ln -s php-latest/sbin/php-fpm php-fpmSTEP 8: link your local PHP to the php command. You will need to logout then log back in for php to switch to the local version instead of the installed version# add this to .bashrcif [ -d "$HOME/bin" ] ; then  PATH="$HOME/bin:$PATH"fiSTEP 9: Start PHP-FPM    sudo ~/bin/php7/sbin/php-fpm
To Top