Есть ли какая-либо команда для включения / выключения расширения php из командной строки?

Есть ли какая-либо команда для включения / выключения расширения php из командной строки? (Php.ini)

6 Solutions collect form web for “Есть ли какая-либо команда для включения / выключения расширения php из командной строки?”

Если вы используете PHP5.4 + в дистрибутиве на основе Debian, вы можете использовать php5enmod для включения и php5dismod для отключения расширений PHP.

Вы можете включить расширение из командной строки, используя:

 php -dextension=/path/to/extension.so 

-d используется для передачи значений ini через командную строку. К сожалению, нет способа отключить расширение для каждой командной строки, если оно было настроено в php.ini (вы можете следовать другим ответам, конечно, но вы ничего не можете сделать, используя -d или любой другой вариант команды php)

Вы можете указать -n чтобы избежать загрузки каких-либо расширений с php.ini . Это может повысить производительность при использовании некоторых (например, XDebug). Например

 php -n -r "phpinfo();" 

На Lubuntu мне нужен pdo_sqlite .

Включить вручную:

 $ sudo php5enmod pdo_sqlite 

Если не работает проверка:

 $ ls /etc/php5/mods-available 

В списке результатов отсутствовал pdo_sqlite.ini . Мы должны установить его.

 $ sudo apt-get install php5-sqlite 

Или для php7:

 $ sudo apt-get install php7-sqlite3 

Расширение sqlite3 автоматически включается в CLI и Apache во время процесса установки, и теперь у нас есть mods-available pdo_sqlite.ini : pdo_sqlite.ini , sqlite3.ini .

Отключить расширение с помощью:

 $ sudo php5dismod pdo_sqlite 

Вы можете просто использовать

 sed -i.bkp 's/^extension=x.so/# extension=x.so/' /path/of/php.ini && /etc/init.d/httpd reload 

-i.bkp взять резервную копию как php.php.bkp и записать в исходный файл

&&, если первая команда успешна, а затем перезагрузите службу httpd.

но я просто замечаю, что sed дает статус выхода 0, когда поиск не соответствует, поэтому вы можете использовать

 php_ini=/path/of/php.ini __module=x.so grep -q "^extension=$__module" $php_ini && { sed -i.bkp "s/^extension=$__module/# extension=$__module/" $php_ini && echo /etc/init.d/httpd reload; } || echo "cannot make requested change" 

Или вы можете использовать скрипт ниже для включения и отключения:

 #!/bin/bash php_ini=/path/of/php.ini __module="$2" [[ ! -f $php_ini ]] && { echo "Error: Can not found $php_ini" >&2; echo "Please define php.ini path in $php_ini"; exit 1; } [[ -z $__module ]] && { echo "Error: Please Type Module Name:" >&2; exit 1; } show_help(){ cat <<_EOF Usage: To enable : $0 -ie <modulename> To disable : $0 -id <modulename> example: $0 -i xyz.so _EOF } do_enable() { grep -Eq "# extension=$__module$" $php_ini && { sed -i.bkp "s/^# extension\=$__module$/extension=$__module/" $php_ini && echo /etc/init.d/httpd reload; echo "Changes Successfully Done"; } || echo "cannot make requested change" } do_disable() { grep -q "^extension=$__module" $php_ini && { sed -i.bkp "s/^extension=$__module/# extension=$__module/" $php_ini && echo /etc/init.d/httpd reload; echo "Changes Successfully Done"; } || echo "cannot make requested change" } Main() { case $1 in -ie) do_enable ;; -id) do_disable ;; *) show_help ;; esac } Main $* 

Вы должны использовать -n а затем добавить каждое необходимое расширение с помощью -dextension

Пример:

 php -n -dextension=json.so -dextension=phar.so composer.phar update 
  • Создать PHP массив из букв
  • несоответствия mdadm при программном запуске
  • redhat oauth.so отсутствует
  • Какой пользователь должен запускать apache и PHP? Какие разрешения должны иметь / var / www файлы?
  • Не удается заставить php 7.1 работать с apache 2.4 (FAMP)
  • PHP + FastCGI + nginx на Debian
  • Синтаксис Vim выделяет определенные строки
  • Запуск сценария bash с php от cron
  • Установка icingaweb2 / icingacli под Oracle Linux 6
  • Canno't выполнить sudo add-apt-repository ppa: ondrej / php
  • Можно ли приостановить системное время?
  • Interesting Posts

    Уменьшение шума микрофона

    В чем разница между всеми этими номерами версий Debian?

    Предоставьте пользователям root права на монтирование разделов NTFS

    Как установить прошивку на debian wheezy из командной строки?

    сортировка файла по столбцу 1

    BASH getopts больше аргументов после опции

    Java 8 JDK устанавливается на OpenSUSE – обновлять альтернативы

    Как разобрать пространства имен из XML-файла с помощью XMLLINT и BASH

    Как служба с PrivateTmp = true получает доступ к сокету unix в каталоге / tmp (например, для отправки заданий Torque из PHP, работающего в Apache)

    Сбой главного узла Proxmox

    Как запустить только ядро ​​linux в vmware?

    Очистить старые строки приглашения в bash для сохранения пространства прокрутки

    Безопасно ли подключаться к серверу с неправильными (конфиденциальными) ключами ssh?

    решение shellshock для nexenta / solaris

    Как я могу поместить экран HDMI в режим энергосбережения (и из него)?

    Linux и Unix - лучшая ОС в мире.