Замітки для Debian GNU/Linux

Ця сторінка містить замітки та підказки призначені для встановлення PHP на » Debian GNU/Linux.

Увага

Неофіційні збірки від третіх сторін тут не згадуються. Про будь-які неполадки потрібно звітувати команді Debian, якщо їх не можна відтворити використовуючи останні збірки з нашої » сторінки завантаження.

Хоча загальні інструкції для встановлення PHP на Unix застосовуються також і до Debian, ця сторінка містить специфічну інформацію для інших моментів, таких як використання команд apt-get або aptitude. Тут використовуються ці дві команди поперемінно.

Використання APT

По-перше, зауважте, що інші пов'язані пакети можуть потребувати libapache2-mod-php5 для інтеграції з Apache 2, та php-pear для PEAR.

По-друге, перед встановленням пакетів, переконайтесь, що список пакетів оновлено. Типово, це робиться через запуск команди apt-get update.

Приклад #1 Приклад встановлення Debian з Apache 2

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

APT буде автоматично встановлювати модуль PHP 5 для Apache 2 та всі його залежності, а потім активуватиме його. Apache потрібно перезапустити, щоб зміни набули чинності. Наприклад:

Приклад #2 Зупинка та запуск Apache, як тільки PHP встановлено

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

Розширене конфігурування

В останньому прикладі, PHP було встановлено з самими основними модулями. Дуже ймовірно, що ви захочете доставити інші модулі, такі як MySQL, cURL, GD, і т.д. Всі їх також можна встановити через команду apt-get.

Приклад #3 Методи пошуку додаткових пакетів для PHP 5

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

Ці методи покажуть великий список пакетів, включаючи деякі специфічні для PHP, такі як php5-cgi, php5-cli та php5-dev. Визначте, які з них потрібні, та встановіть їх використовуючи apt-get або aptitude. Оскільки Debian виконує перевірку залежностей, вам буде запропоновано, наприклад, встановити MySQL та cURL:

Приклад #4 Встановлення PHP з MySQL та cURL

# apt-get install php5-mysql php5-curl

APT буде автоматично додавати відповідні рядки для різних php.ini пов'язаних файлів, таких як /etc/php5/apache2/php.ini, /etc/php5/conf.d/pdo.ini, і т.п., та в залежності від розширень, буде додавати записи такі як extension=foo.so. Перезапуск веб-сервера також є необхідним, щоб зміни набули чинності.

Загальні проблеми

  • Якщо скрипти PHP не обробляються веб-сервером, то ймовірно, що PHP ще не додано до конфігураційного файла веб-сервера, який на Debian може знаходитись тут: /etc/apache2/apache2.conf. Дивіться керівництво Debian для детальнішої інформації.
  • Якщо розширення встановлено, але функції не знаходяться, переконайтесь, що завантажується відповідний ini-файл та/або веб-сервер було перезапущено після встановлення цих розширень.
  • Є дві базові команди для встановлення пакетів на Debian (та інші варіанти Linux): apt-get і aptitude. Але пояснення тонкощів в тому, чим вони відрізняються, виходить за межі даного посібника.
add a note add a note

User Contributed Notes 6 notes

up
37
thumbs at apache dot org
10 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
26
kearney dot taaffe at gmail dot com
6 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 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
-20
marin at sagovac dot com
10 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
-29
juraj at jurajsplayground dot com
14 years ago
On Ubuntu (since 7.04), rather do:
sudo tasksel install lamp-server

Details:
https://help.ubuntu.com/community/ApacheMySQLPHP
up
-30
John Fisher
17 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
-40
tranzbit at yahoo dot com
14 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