PHP 5.6.38 Released

Debian GNU/Linux-Installationshinweise

Dieser Abschnitt beinhaltet Hinweise und Tipps für die Installation von PHP unter » Debian GNU/Linux.

Warnung

Nicht offizielle Pakete von Drittanbietern werden hier nicht unterstützt. Alle Bugs sollten an das Debian-Team gemeldet werden, außer falls sie mit den letzten Paketen von unserer » Download-Seite reproduzierbar sind.

Auch wenn die Anweisungen zum Kompilieren von PHP unter Unix auch für Debian gelten, enthält diese Handbuchseite spezielle Informationen für weitere Optionen, wie z.B. über die Nutzung der apt-get- oder aptitude-Kommandos. Diese Handbuchseite nutzt beide Kommandos synonym.

APT verwenden

Beachten Sie zunächst, dass andere verwandte Pakete wie libapache2-mod-php5 (zur Integration mit Apache 2) oder php-pear (für PEAR) existieren.

Außerdem sollten Sie vor der Installation eines Pakets sicherstellen, dass die Paketliste auf dem aktuellen Stand ist. Üblicherweise kann dies durch das Kommando apt-get update erledigt werden.

Beispiel #1 Debian-Installations-Beispiel mit Apache 2

# apt-get install php5-common libapache2-mod-php5 php5-cli

APT wird automatisch das PHP-5-Modul für Apache 2 sowie alle seine Abhängigkeiten installieren und danach aktivieren. Damit die Änderungen in Kraft treten, muss Apache neu gestart werden. Zum Beispiel:

Beispiel #2 Stoppen und Starten von Apache nach der Installation von PHP

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

Bessere Kontrolle über die Konfiguration

Im letzten Abschnitt wurde PHP nur mit den Basismodulen installiert. In den meisten Fällen werden Sie weitere Module wie MySQL, cURL oder GD benötigen. Auch diese Module können mit dem apt-get-Kommando installiert werden.

Beispiel #3 Methoden zur Anzeige weiterer PHP-5-Pakete

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

Diese Beispiel werden eine große Zahl von Paketen, inklusive spezieller PHP-Pakete wie php5-cgi, php5-cli und php5-dev, anzeigen. Entscheiden Sie, welche Sie benötigen und installieren Sie diese wie jedes andere Paket entweder mit apt-get oder aptitude. Weil Debian Abhängigkeiten prüft, wird es Sie ggf. fragen, um MySQL und cURL zu installieren:

Beispiel #4 PHP mit MySQL und cURL installieren

# apt-get install php5-mysql php5-curl

APT wird automatisch die passenden Zeilen zu Ihren verschiedenen mit der php.ini verwandten Dateien hinzufügen, wie z.B. /etc/php5/apache2/php.ini, /etc/php5/conf.d/pdo.ini etc. Abhängig von der Erweiterung wird es Einträge ähnlich wie extension=foo.so hinzufügen. Das Neustarten des Web-Server (z.B. Apache) ist erforderlich, damit die Änderungen sich auswirken.

Bekannte Probleme

  • Wenn die PHP-Skripte nicht vom Web-Server geparst werden, ist es wahrscheinlich, dass PHP nicht zur Konfigurationsdatei des Web-Servers hinzugefügt wurde. Unter Debian ist dies meist /etc/apache2/apache2.conf (oder ähnlich). Im Debian-Handbuch finden Sie weitere Details hierzu.
  • Falls eine Erweiterung anscheinend installiert wurde, aber die Funktionen nicht definiert sind, müssen Sie sicherstellen, dass die entsprechede INI-Datei geladen wurde und/oder dass der Web-Server nach der Installation neu gestartet wurde.
  • Es gibt zwei grundlegende Kommandos für die Installation von Paketen unter Debian (und anderen Linux-Varianten): apt-get und aptitude. Die Erläuterung der feinen Unterschiede zwischen diesen Kommandos liegt außerhalb dessen, was dieses Handbuch umfasst.
add a note add a note

User Contributed Notes 6 notes

up
9
kearney dot taaffe at gmail dot com
8 months 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 run

STEP 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-dev

So 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-readline

STEP 4:
compile the binaries by typing: make

If no errors, install by typing: make install

STEP 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.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

STEP 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-fpm

STEP 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 .bashrc
if [ -d "$HOME/bin" ] ; then
  PATH="$HOME/bin:$PATH"
fi

STEP 9: Start PHP-FPM

    sudo ~/bin/php7/sbin/php-fpm
up
37
thumbs at apache dot org
5 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-FPM

While 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
-17
marin at sagovac dot com
4 years ago
To install LAMP stack on Ubuntu (+Server) from 10.04 you need first install taskel and then lamp-server for example:

Install taskel, follow terminal guides:
sudo apt-get install tasksel

Install LAMP stack package from Ubuntu repository:
sudo tasksel install lamp-server
up
-18
juraj at jurajsplayground dot com
9 years ago
On Ubuntu (since 7.04), rather do:
sudo tasksel install lamp-server

Details:
https://help.ubuntu.com/community/ApacheMySQLPHP
up
-22
John Fisher
11 years ago
With Apache2 and Php4 under Debian Sarge there is an extra configuration file :  /etc/apache2/sites-available/default
This file is not clearly documented, at least not for noobs, in Apache docs.

It overrides the conf file in the way you expect the /etc/apache2/conf.d/apache2-doc  to do according to the README.

Add ExecCGI to it to get rid of "Options ExecCGI is off in this directory"  errors.
up
-29
tranzbit at yahoo dot com
9 years ago
On Ubuntu:

sudo apt-get install apache2 php5 mysql-client-5.0 mysql-server-5.0 phpmyadmin libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql

then restart the computer/start mysql manually
From:
http://ubuntuforums.org/showthread.php?t=186492
To Top