Установка модулей PHP под Ubuntu
09.12.2019
Теги: Apache • Linux • Nginx • PHP • php.ini • Ubuntu • Команда • Модуль • Настройка • Удалить • Установка
Поиск модулей PHP, которые могут быть установлены или уже были установлены:
$ apt search --names-only php | grep ^php7 php7.2/bionic-updates,bionic-updates,bionic-security,bionic-security 7.2.24-0ubuntu0.18.04.1 all php7.2-bcmath/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-bz2/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-cgi/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-cli/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-common/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-curl/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-dba/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-dev/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-enchant/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-fpm/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен] php7.2-gd/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-gmp/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-imap/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-interbase/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-intl/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-json/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-ldap/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-mbstring/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-mysql/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-odbc/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-opcache/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-pgsql/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-phpdbg/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-pspell/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-readline/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-recode/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-snmp/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-soap/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-sqlite3/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-sybase/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-tidy/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-xml/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-xmlrpc/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.1 amd64 php7.2-xsl/bionic-updates,bionic-updates,bionic-security,bionic-security 7.2.24-0ubuntu0.18.04.1 all php7.2-zip/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64
Устанавливаем два модуля PHP — php7.2-gd
и php7.2-zip
$ sudo apt install php7.2-gd php7.2-zip
Смотрим, какие модули PHP сейчас уже установлены:
$ apt list --installed | grep ^php7 php7.2-cli/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-common/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-fpm/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен] php7.2-gd/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен] php7.2-json/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-opcache/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-readline/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен, автоматически] php7.2-zip/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.1 amd64 [установлен]
Файлы конфигурации всех установленных модулей PHP находятся в директории /etc/php/VERSION/mods-available
:
$ cd /etc/php/7.2/mods-available $ ls calendar.ini ftp.ini json.ini posix.ini sysvmsg.ini xdebug.ini ctype.ini gd.ini opcache.ini readline.ini sysvsem.ini zip.ini exif.ini gettext.ini pdo.ini shmop.ini sysvshm.ini fileinfo.ini iconv.ini phar.ini sockets.ini tokenizer.ini
Для управления модулями пакет php-common
предоставляет следующие команды:
phpenmod
— для включения модулейphpdismod
— для отключения модулейphpquery
— для просмотра статуса
Синтаксис команд:
# phpenmod [-v ALL|php_version] [-s ALL|sapi_name] module_name
# phpdismod [-v ALL|php_version] [-s ALL|sapi_name] module_name
$ phpquery [-d] [-q] -v version_name -s sapi_name [-m module_name] [-M] [-S] [-V]
Включим два модуля, которые установили ранее:
$ sudo phpenmod -v 7.2 -s fpm gd # включаем модуль gd
$ sudo phpenmod -v 7.2 -s fpm zip # включаем модуль zip
Отключить модули можно так:
$ sudo phpdismod -v 7.2 -s fpm gd # отключаем модуль gd
$ sudo phpdismod -v 7.2 -s fpm zip # отключаем модуль zip
Опция -v
позволяет указать версию PHP, для которой надо включить или отключить модуль. А опция -s
предназначена для указания SAPI (Server API), например cli
или fpm
.
Команда phpenmod
просто создает внутри директории conf.d
ссылки на файлы из директории mods-available
:
$ cd /etc/php/7.2/fpm/conf.d $ ls -la итого 8 drwxr-xr-x 2 root root 4096 дек 9 15:20 . drwxr-xr-x 4 root root 4096 дек 5 10:14 .. lrwxrwxrwx 1 root root 39 дек 5 10:14 10-opcache.ini -> /etc/php/7.2/mods-available/opcache.ini lrwxrwxrwx 1 root root 35 дек 5 10:14 10-pdo.ini -> /etc/php/7.2/mods-available/pdo.ini lrwxrwxrwx 1 root root 40 дек 5 10:14 20-calendar.ini -> /etc/php/7.2/mods-available/calendar.ini lrwxrwxrwx 1 root root 37 дек 5 10:14 20-ctype.ini -> /etc/php/7.2/mods-available/ctype.ini lrwxrwxrwx 1 root root 36 дек 5 10:14 20-exif.ini -> /etc/php/7.2/mods-available/exif.ini lrwxrwxrwx 1 root root 40 дек 5 10:14 20-fileinfo.ini -> /etc/php/7.2/mods-available/fileinfo.ini lrwxrwxrwx 1 root root 35 дек 5 10:14 20-ftp.ini -> /etc/php/7.2/mods-available/ftp.ini lrwxrwxrwx 1 root root 34 дек 9 13:01 20-gd.ini -> /etc/php/7.2/mods-available/gd.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-gettext.ini -> /etc/php/7.2/mods-available/gettext.ini lrwxrwxrwx 1 root root 37 дек 5 10:14 20-iconv.ini -> /etc/php/7.2/mods-available/iconv.ini lrwxrwxrwx 1 root root 36 дек 5 10:14 20-json.ini -> /etc/php/7.2/mods-available/json.ini lrwxrwxrwx 1 root root 36 дек 5 10:14 20-phar.ini -> /etc/php/7.2/mods-available/phar.ini lrwxrwxrwx 1 root root 37 дек 5 10:14 20-posix.ini -> /etc/php/7.2/mods-available/posix.ini lrwxrwxrwx 1 root root 40 дек 5 10:14 20-readline.ini -> /etc/php/7.2/mods-available/readline.ini lrwxrwxrwx 1 root root 37 дек 5 10:14 20-shmop.ini -> /etc/php/7.2/mods-available/shmop.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-sockets.ini -> /etc/php/7.2/mods-available/sockets.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-sysvmsg.ini -> /etc/php/7.2/mods-available/sysvmsg.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-sysvsem.ini -> /etc/php/7.2/mods-available/sysvsem.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-sysvshm.ini -> /etc/php/7.2/mods-available/sysvshm.ini lrwxrwxrwx 1 root root 41 дек 5 10:14 20-tokenizer.ini -> /etc/php/7.2/mods-available/tokenizer.ini lrwxrwxrwx 1 root root 38 дек 9 12:59 20-xdebug.ini -> /etc/php/7.2/mods-available/xdebug.ini lrwxrwxrwx 1 root root 35 дек 9 16:20 20-zip.ini -> /etc/php/7.2/mods-available/zip.ini
$ cd /etc/php/7.2/cli/conf.d $ ls -la итого 8 drwxr-xr-x 2 root root 4096 дек 9 14:26 . drwxr-xr-x 3 root root 4096 дек 5 10:14 .. lrwxrwxrwx 1 root root 39 дек 5 10:14 10-opcache.ini -> /etc/php/7.2/mods-available/opcache.ini lrwxrwxrwx 1 root root 35 дек 5 10:14 10-pdo.ini -> /etc/php/7.2/mods-available/pdo.ini lrwxrwxrwx 1 root root 40 дек 5 10:14 20-calendar.ini -> /etc/php/7.2/mods-available/calendar.ini lrwxrwxrwx 1 root root 37 дек 5 10:14 20-ctype.ini -> /etc/php/7.2/mods-available/ctype.ini lrwxrwxrwx 1 root root 36 дек 5 10:14 20-exif.ini -> /etc/php/7.2/mods-available/exif.ini lrwxrwxrwx 1 root root 40 дек 5 10:14 20-fileinfo.ini -> /etc/php/7.2/mods-available/fileinfo.ini lrwxrwxrwx 1 root root 35 дек 5 10:14 20-ftp.ini -> /etc/php/7.2/mods-available/ftp.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-gettext.ini -> /etc/php/7.2/mods-available/gettext.ini lrwxrwxrwx 1 root root 37 дек 5 10:14 20-iconv.ini -> /etc/php/7.2/mods-available/iconv.ini lrwxrwxrwx 1 root root 36 дек 5 10:14 20-json.ini -> /etc/php/7.2/mods-available/json.ini lrwxrwxrwx 1 root root 36 дек 5 10:14 20-phar.ini -> /etc/php/7.2/mods-available/phar.ini lrwxrwxrwx 1 root root 37 дек 5 10:14 20-posix.ini -> /etc/php/7.2/mods-available/posix.ini lrwxrwxrwx 1 root root 40 дек 5 10:14 20-readline.ini -> /etc/php/7.2/mods-available/readline.ini lrwxrwxrwx 1 root root 37 дек 5 10:14 20-shmop.ini -> /etc/php/7.2/mods-available/shmop.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-sockets.ini -> /etc/php/7.2/mods-available/sockets.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-sysvmsg.ini -> /etc/php/7.2/mods-available/sysvmsg.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-sysvsem.ini -> /etc/php/7.2/mods-available/sysvsem.ini lrwxrwxrwx 1 root root 39 дек 5 10:14 20-sysvshm.ini -> /etc/php/7.2/mods-available/sysvshm.ini lrwxrwxrwx 1 root root 41 дек 5 10:14 20-tokenizer.ini -> /etc/php/7.2/mods-available/tokenizer.ini lrwxrwxrwx 1 root root 38 дек 9 12:59 20-xdebug.ini -> /etc/php/7.2/mods-available/xdebug.ini
Структура директорий /etc/php/7.2
:
[cli] [conf.d] 10-opcache.ini 20-fileinfo.ini 20-phar.ini 20-sysvmsg.ini 10-pdo.ini 20-ftp.ini 20-posix.ini 20-sysvsem.ini 20-calendar.ini 20-gettext.ini 20-readline.ini 20-sysvshm.ini 20-ctype.ini 20-iconv.ini 20-shmop.ini 20-tokenizer.ini 20-exif.ini 20-json.ini 20-sockets.ini 20-xdebug.ini php.ini (файл конфигурации php-cli) [fpm] [conf.d] 10-opcache.ini 20-ftp.ini 20-posix.ini 20-sysvshm.ini 10-pdo.ini 20-gd.ini 20-readline.ini 20-tokenizer.ini 20-calendar.ini 20-gettext.ini 20-shmop.ini 20-xdebug.ini 20-ctype.ini 20-iconv.ini 20-sockets.ini 20-zip.ini 20-exif.ini 20-json.ini 20-sysvmsg.ini 20-fileinfo.ini 20-phar.ini 20-sysvsem.ini [pool.d] www.conf php-fpm.conf php.ini (файл конфигурации php-fpm) [mods-available] (файлы конфигурации модулей) calendar.ini ftp.ini json.ini posix.ini sysvmsg.ini xdebug.ini ctype.ini gd.ini opcache.ini readline.ini sysvsem.ini zip.ini exif.ini gettext.ini pdo.ini shmop.ini sysvshm.ini fileinfo.ini iconv.ini phar.ini sockets.ini tokenizer.ini
Установленные модули
Список встроенных (и загруженных) модулей PHP и Zend (php-cli
):
$ php7.2 -m [PHP Modules] calendar Core ctype date exif fileinfo filter ftp gettext hash iconv json libxml openssl pcntl pcre PDO Phar posix readline Reflection session shmop sockets sodium SPL standard sysvmsg sysvsem sysvshm tokenizer xdebug Zend OPcache zlib [Zend Modules] Xdebug Zend OPcache
Справка по всем опциям php-cli
$ php7.2 --help Usage: php [options] [-f] <file> [--] [args...] php [options] -r <code> [--] [args...] php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...] php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...] php [options] -S <addr>:<port> [-t docroot] [router] php [options] -- [args...] php [options] -a -a Run interactively -c <path>|<file> Look for php.ini file in this directory -n No configuration (ini) files will be used -d foo[=bar] Define INI entry foo with value 'bar' -e Generate extended information for debugger/profiler -f <file> Parse and execute <file>. -h This help -i PHP information -l Syntax check only (lint) -m Show compiled in modules -r <code> Run PHP <code> without using script tags <?..?> -B <begin_code> Run PHP <begin_code> before processing input lines -R <code> Run PHP <code> for every input line -F <file> Parse and execute <file> for every input line -E <end_code> Run PHP <end_code> after processing all input lines -H Hide any passed arguments from external tools. -S <addr>:<port> Run with built-in web server. -t <docroot> Specify document root <docroot> for built-in web server. -s Output HTML syntax highlighted source. -v Version number -w Output source with stripped comments and whitespace. -z <file> Load Zend extension <file>. args... Arguments passed to script. Use -- args when first argument starts with - or script is read from stdin --ini Show configuration file names --rf <name> Show information about function <name>. --rc <name> Show information about class <name>. --re <name> Show information about extension <name>. --rz <name> Show information about Zend extension <name>. --ri <name> Show configuration for extension <name>.
Список встроенных (и загруженных) модулей PHP и Zend (php-fpm)
:
$ php-fpm7.2 -m [PHP Modules] calendar cgi-fcgi Core ctype date exif fileinfo filter ftp gd gettext hash iconv json libxml openssl pcre PDO Phar posix readline Reflection session shmop sockets sodium SPL standard sysvmsg sysvsem sysvshm tokenizer xdebug Zend OPcache zip zlib [Zend Modules] Xdebug Zend OPcache
Справка по всем опциям php-fpm
$ php-fpm7.2 --help Usage: php [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g <pid>] [-c <file>] [-d foo[=bar]] [-y <file>] [-D] [-F [-O]] -c <path>|<file> Look for php.ini file in this directory -n No php.ini file will be used -d foo[=bar] Define INI entry foo with value 'bar' -e Generate extended information for debugger/profiler -h This help -i PHP information -m Show compiled in modules -v Version number -p, --prefix <dir> Specify alternative prefix path to FastCGI process manager (default: /usr). -g, --pid <file> Specify the PID file location. -y, --fpm-config <file> Specify alternative path to FastCGI process manager config file. -t, --test Test FPM configuration and exit -D, --daemonize force to run in background, and ignore daemonize option from config file -F, --nodaemonize force to stay in foreground, and ignore daemonize option from config file -O, --force-stderr force output to stderr in nodaemonize even if stderr is not a TTY -R, --allow-to-run-as-root Allow pool to run as root (disabled by default)
Поиск: Apache • Linux • Nginx • PHP • php.ini • Ubuntu • Команда • Модуль • Настройка • Удалить • Установка • apt