- How to Enable or Disable PHP Modules on Ubuntu 20.04 | 18.04
- Prerequisites
- Managing PHP Modules
- Enable PHP Modules
- Enable module for specific php version
- Disable PHP Modules
- Conclusion
- Установка PHP и модулей на Ubuntu/Debian
- Nginx, Php-Fpm и что это вообще?
- Почему timeout для curl в php необходим
- Угадайте самый медленный фреймворк. И это не Laravel
- Curl в PHP
- Сессии в PHP — часть первая для Чайников
- how to enable and disable php7 modules in linux server 16.4
- 4 Answers 4
- You must log in to answer this question.
- Related
- Hot Network Questions
- Subscribe to RSS
How to Enable or Disable PHP Modules on Ubuntu 20.04 | 18.04
In this guide, we will be showing how you can enable or disable PHP modules on Ubuntu 20.04 LTS as well as other versions.
PHP modules are extensions that add features to the core PHP functions.
Prerequisites
In this guide, we will be making the assumption that you have already installed a supported PHP version such as PHP 7.4 or PHP 8.0 on your Ubuntu system. This short tutorial will show you how to install PHP modules on your system.
Managing PHP Modules
The php-common package provides the following commands to manage PHP modules as listed below:
- phpenmod: Used to enable modules in PHP
- phpdismod: Used to disable modules in PHP
- phpquery: Used to view status of modules of PHP
Modules can be enabled or disabled in PHP for a specific SAPI (Server API). The three common ones found on any Ubuntu system are CLI, FPM, and Apache2. You can use the -s switch to enable or disable modules in PHP for any of these.
Enable PHP Modules
To enable a specific module in PHP you need to use phpenmod command followed by module name using the following syntax.
Here is an example showing how to enable the curl module for ALL PHP versions and all SAPI.
phpenmod provides a -v switch to specify the PHP version that you intend to enable the module for with the following syntax.
$ phpenmod -v PHP_VERSION MODULE_NAME
This example shows how to enable the curl module for specific PHP versions.
Enable module for specific php version
$ phpenmod -v 7.3 curl $ phpenmod -v 7.4 curl
Moving further, this is the syntax if you need to specify the SAPI using the -s switch.
$ phpenmod -s SAPI MODULE_NAME
Now let’s enable curl for all the SAPIs individually.
$ phpenmod -s cli curl $ phpenmod -s fpm curl $ phpenmod -s apache2 curl
Disable PHP Modules
You can use phpdismod to disable any unused or unwanted PHP modules from your system. Here we will disable the curl module for all PHP versions and all SAPI.
The following command will disable the specific module for the specified version:
The following example will disable the module only for the specified SAPI
Conclusion
You should now be able to enable and disable PHP modules based on PHP version and SAPI to keep your system running optimally.
Found this article interesting? Follow Brightwhiz on Facebook, Twitter, and YouTube to read and watch more content we post.
Установка PHP и модулей на Ubuntu/Debian
В Debian и Ubuntu есть несколько вариантов работы php: как модуль apache и как php-fpm. Первый вариант удобен тем, кому придется использовать не только сам PHP, но и возможности Apache, такие как .htaccess. Второй же вариат удобен например для Yii или Laravel.
Установка PHP 5 как модуля Apache:
apt-get update apt-get install libapache2-mod-php5 php5-cli php5-memcache php5-memcached php5-mysql php5-pgsql php5-curl php5-gd php5-imagick php5-intl php5-mcrypt
Установка PHP 7 как модуля Apache:
apt-get update apt-get install libapache2-mod-php7.0 php7.0-curl php7.0-cli php-memcache php-memcached php7.0-mysql php7.0-pgsql php7.0-gd php7.0-imagick php7.0-intl php7.0-mcrypt
Установка PHP 5 как PHP-FPM:
apt-get update apt-get install php5-fpm php5-cli php5-memcache php5-memcached php5-mysql php5-pgsql php5-curl php5-gd php5-imagick php5-intl php5-mcrypt
Установка PHP 7 как PHP-FPM
apt-get update apt-get install php7.0-fpm php7.0-curl php7.0-cli php-memcache php-memcached php7.0-mysql php7.0-pgsql php7.0-gd php7.0-imagick php7.0-intl php7.0-mcrypt
В Debian и Ubuntu зачастую установка модулей PHP не требует каких-то сложных манипуляций. Для того, чтобы посмотреть, что Вы можете поставить прямо сейчас, нужно сделать:
lynx@lnxdsk:~$ apt-cache search php7.0 php-amqp - AMQP extension for PHP php-apcu - APC User Cache for PHP php-all-dev - package depending on all supported PHP development packages php-gearman - PHP wrapper to libgearman php-geoip - GeoIP module for PHP php-gmagick - Provides a wrapper to the GraphicsMagick library php-gnupg - PHP wrapper around the gpgme library php-igbinary - igbinary PHP serializer php-imagick - Provides a wrapper to the ImageMagick library php-libsodium - PHP wrapper for the Sodium cryptographic library php-mailparse - Email message manipulation for PHP php-memcache - memcache extension module for PHP php-memcached - memcached extension module for PHP, uses libmemcached php-mongodb - MongoDB driver for PHP php-msgpack - PHP extension for interfacing with MessagePack php-oauth - OAuth 1.0 consumer and provider extension php-http - PECL HTTP module for PHP Extended HTTP Support php-pinba - Pinba module for PHP php-propro - propro module for PHP php-radius - radius client library for PHP php-raphf - raphf module for PHP php-redis - PHP extension for interfacing with Redis php-rrd - PHP bindings to rrd tool system php-smbclient - PHP wrapper for libsmbclient php-solr - PHP extension for communicating with Apache Solr server php-ssh2 - Bindings for the libssh2 library php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP php-uploadprogress - file upload progress tracking extension for PHP php-uuid - PHP UUID extension php-yac - YAC (Yet Another Cache) for PHP php-yaml - YAML-1.1 parser and emitter for PHP php-zmq - ZeroMQ messaging bindings for PHP php7.0 - server-side, HTML-embedded scripting language (metapackage) php7.0-bcmath - Bcmath module for PHP php7.0-bz2 - bzip2 module for PHP php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary) php7.0-cli - command-line interpreter for the PHP scripting language php7.0-common - documentation, examples and common module for PHP php7.0-curl - CURL module for PHP php7.0-dba - DBA module for PHP php7.0-dev - Files for PHP7.0 module development php7.0-enchant - Enchant module for PHP php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary) php7.0-gd - GD module for PHP php7.0-gmp - GMP module for PHP php7.0-imap - IMAP module for PHP php7.0-interbase - Interbase module for PHP php7.0-intl - Internationalisation module for PHP php7.0-json - JSON module for PHP php7.0-ldap - LDAP module for PHP php7.0-mbstring - MBSTRING module for PHP php7.0-mcrypt - libmcrypt module for PHP php7.0-mysql - MySQL module for PHP php7.0-odbc - ODBC module for PHP php7.0-opcache - Zend OpCache module for PHP php7.0-pgsql - PostgreSQL module for PHP php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary) php7.0-pspell - pspell module for PHP php7.0-readline - readline module for PHP php7.0-recode - recode module for PHP php7.0-snmp - SNMP module for PHP php7.0-soap - SOAP module for PHP php7.0-sqlite3 - SQLite3 module for PHP php7.0-sybase - Sybase module for PHP php7.0-tidy - tidy module for PHP php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP php7.0-xmlrpc - XMLRPC-EPI module for PHP php7.0-xsl - XSL module for PHP (dummy) php7.0-zip - Zip module for PHP
Давайте для примера установим GD для работы с изображениями:
lynx@lnxdsk:~$ sudo apt-get install php7.0-gd Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Заметьте, вместо «php7.0-gd» выбирается «php-gd» НОВЫЕ пакеты, которые будут установлены: php-gd обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 148 пакетов не обновлено. Необходимо скачать 350 kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 1 493 kB. Пол:1 http://mirror.mephi.ru/debian stretch/main amd64 php-gd amd64 2.5.0-1 [350 kB] Получено 350 kБ за 0с (2 266 kБ/c) Выбор ранее не выбранного пакета php-gd. (Чтение базы данных … на данный момент установлено 61175 файлов и каталогов.) Подготовка к распаковке …/php-gd_2.5.0-1_amd64.deb … Распаковывается php-xdebug (2.5.0-1) … Настраивается пакет php-xdebug (2.5.0-1) … После установки нам нужно перезапустить apache (эти примеры я показываю от пользователя root):
root@lnxdsk:~# service apache2 restart
Либо php-fpm, смотря, что используете Вы:
root@lnxdsk:~# service php7.0-fpm restart
Чтобы посмотреть список модулей php, который прямо сейчас подключен, можно запустить:
lynx@lnxdsk:~$ php -m [PHP Modules] bcmath bz2 calendar Core ctype curl date dba dom ereg exif fileinfo filter ftp gd gettext hash iconv intl json libxml mbstring mhash mysql mysqli openssl pcntl pcre PDO pdo_mysql pdo_pgsql pgsql Phar posix readline Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xdebug xml xmlreader xmlwriter Zend OPcache zip zlib [Zend Modules] Xdebug Zend OPcache
Nginx, Php-Fpm и что это вообще?
Что такое php-fpm и зачем он нужен более-менее посещаемым проектам? Какие неприятности несет в себе переход с apache на fpm? Какие проблемы решает реально, а какие — надуманно?
Почему timeout для curl в php необходим
Использование cURL в PHP имеет свою не очень приятную особенность — вечная блокировка процесса
Угадайте самый медленный фреймворк. И это не Laravel
Есть распространенное мнение, что Laravel почти самый медленный фреймворк, что даже его название нужно читать медленно и только одним пользователем на 1 ядро CPU. Но к счастью, это не так
Curl в PHP
Curl — это библиотека для работы с URL. Она интегрирована во множество языков, в том числе и в PHP.
Сессии в PHP — часть первая для Чайников
Вводная статья о том, как использовать сессии в PHP
how to enable and disable php7 modules in linux server 16.4
I have mad a custom ini files in /etc/php/7.0/mods-available . how can I enable it. I have tried php5enmod, and php7enmod . none worked for me. Thank you.
4 Answers 4
You can simply use the command phpenmod .
My «phpenmod» is pointing to php5.6 when I’m running: sudo phpenmod oci8 ===> WARNING: Module oci8 ini file doesn’t exist under /etc/php/5.6/mods-available
OFFICIAL MANUAL TOLD ME: usage: phpenmod [ -v ALL|php_version ] [ -s ALL|sapi_name ] module_name [ module_name_2 ] so i run phpenmod -v 7.1 -s apache2 soap version and SAPI you can know from /usr/lib/php/
- phpenmod moduleName enables a module to php7 (restart apache after that sudo service apache2 restart )
- phpdismod moduleName disables a module to php7 (restart apache after that sudo service apache2 restart )
- php -m lists the loaded modules
If you have several php versions intalled you can also use this syntax:
phpenmod -v 5.6 phpenmod -v 7.1 .
That worked in my case because I have 7.0, 7.1, 7.2 and 7.3 installed, but because of requirements I have to run my apache2 with 7.2.
- To check available modules, run php -m — it’s a content of /etc/php/yourPHPVersion/mods-available
- Select module from the list and enable it (let’s say you want to enable soap) phpenmod soap
- Reload apache2 service apache2 reload or systemctl reload apache2 And you have a module enabled.
- To disable the same module, run phpdismod soap , reload apache2 service apache2 reload
You must log in to answer this question.
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.14.43533
Ubuntu and the circle of friends logo are trade marks of Canonical Limited and are used under licence.
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.