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!Инсталација од пакети на Debian GNU/Linux и сродни дистрибуции
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Инсталација од пакети на Debian GNU/Linux и сродни дистрибуции
Референца за `install.unix.debian.php` со подобрена типографија и навигација.
Инсталација од пакети на Debian GNU/Linux и сродни дистрибуции
Додека PHP може да се инсталира од извор, достапен е и преку пакети од Иако PHP може да се инсталира од изворниот код, достапен е и преку пакети од» Debian GNU/Linux
. Ова важи и за други дистрибуции базирани на Debian, како што се Ubuntu, Kali Linux и Linux Mint. Builds from third-parties are considered unofficial and not directly supported by the PHP project. Any bugs encountered should be reported to the provider of those unofficial builds unless they can be reproduced using the builds from.
Изградбите од трети страни се сметаат за неофицијални и не се директно поддржани од PHP проектот. Сите грешки што ќе се сретнат треба да се пријават кај давателот на тие неофицијални градби, освен ако не можат да се репродуцираат со користење на градбите од apt or aptitude Пакетите може да се инсталираат со користење на
команди. Оваа прирачна страница ги користи овие две команди наизменично.
Користење на APT
libapache-mod-php Прво, забележете дека може да се посакаат други поврзани пакети како
php-pear за интеграција со Apache 2, и
за PEAR. Второ, пред да инсталирате пакет, мудро е да се осигурате дека списокот на пакети е ажуриран. Обично, ова се прави со извршување на командата.
apt update
# apt install php-common libapache2-mod-php php-cli
Пример #1 Пример за инсталација на Debian со Apache 2
APT автоматски ќе го инсталира PHP модулот за Apache 2 и сите негови зависности, а потоа ќе го активира. Apache треба да се рестартира за да стапат на сила промените. На пример:
# /etc/init.d/apache2 stop # /etc/init.d/apache2 start
Пример #2 Запирање и стартување на Apache откако ќе се инсталира PHP
Подобра контрола на конфигурацијата MySQL, cURL, GDВо последниот дел, PHP беше инсталиран само со основни модули. Многу е веројатно дека ќе бидат посакувани дополнителни модули, како што се apt command.
, итн. Тие исто така може да се инсталираат преку
# apt-cache search php # apt search php | grep -i mysql # aptitude search php
Пример #3 Методи за набројување на дополнителни PHP пакети php-cgi,
php-cliПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во php-dev, како и многу PHP екстензии. Кога екстензиите се инсталирани, дополнителни пакети автоматски ќе се инсталираат по потреба за да се задоволат зависностите на тие пакети.
Пример #4 Инсталирај PHP со MySQL, cURL
# apt install php-mysql php-curl
APT автоматски ќе ги додаде соодветните редови во различните php.ini поврзани датотеки како
/etc/php/7.4/php.ini,
"/etc/php/7.4/conf.d/*.ini", итн. и во зависност од екстензијата ќе додаде записи слични на extension=foo.so. Сепак, рестартирањето на веб-серверот (како Apache) е потребно пред овие промени да стапат на сила.
Вообичаени проблеми
- Ако PHP скриптите не се парсираат преку веб-серверот, тогаш веројатно е дека PHP не е додаден во конфигурациската датотека на веб-серверот, што на Debian може да биде /etc/apache2/apache2.conf или слично. Погледнете го прирачникот на Debian за повеќе детали.
- Ако екстензијата изгледаше инсталирана, но функциите се недефинирани, бидете сигурни дека соодветната ini датотека се вчитува и/или веб-серверот е рестартиран по инсталацијата.
Белешки од корисници 2 забелешки
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