Нет, но есть инструменты, которые вы можете использовать для анализа и изменения конфигурации (например awk).
Иордания
1
просто дайте нам знать, что вы настраиваете, чтобы отключить расширение в php.ini, чтобы мы могли легко это сделать из командной строки
Рахул Патил
@RahulPatil Я просто комментирую, extension=x.soчтобы отключить х.
PHPst
Ответы:
27
Если вы используете PHP5.4 + в дистрибутиве на основе Debian, вы можете использовать php5enmod для включения и php5dismod для отключения расширений PHP.
Обратите внимание, что это работает, добавляя / удаляя ссылки в /etc/php5/ enjapache2,cli,...casts/conf.d/
Пьер-Оливье Варес
1
@ Pierre-OlivierVares Этот комментарий был действительно актуальной информацией здесь.
Ксатенев
14
Вы можете включить расширение из командной строки, используя:
php -d extension=/path/to/extension.so
-dиспользуется для передачи значений ini через командную строку. К сожалению, нет способа отключить расширение в командной строке, если оно было настроено в php.iniфайле. (Конечно, вы можете следовать другим ответам, но вы ничего не можете сделать, используя -dкакую-либо опцию phpкоманды.)
Список результатов отсутствует pdo_sqlite.ini. Мы должны установить это.
$ sudo apt-get install php5-sqlite
Или для php7:
$ sudo apt-get install php7-sqlite3
Расширение sqlite3автоматически включается в CLI и в Apache во время процесса установки, и теперь мы имеем mods-available: pdo_sqlite.ini, sqlite3.ini.
Вы можете указать, -nчтобы избежать загрузки любых расширений из php.ini. Это может улучшить производительность при использовании некоторых (например, XDebug). Например
Любой способ предотвратить загрузку расширения (например, memcached) от загрузки на хост-сервере, хотя оно настроено изначально? Я не контролирую настройку своего хоста, только сценарии на нем. Я подозреваю, что это как-то портит мои сеансы, и я хотел бы убедиться, что оно отключено, поскольку я его не использую ..
userfuser
3
Вы должны использовать, -nа затем добавить каждое необходимое расширение, используя-dextension
awk
).extension=x.so
чтобы отключить х.Ответы:
Если вы используете PHP5.4 + в дистрибутиве на основе Debian, вы можете использовать php5enmod для включения и php5dismod для отключения расширений PHP.
источник
Вы можете включить расширение из командной строки, используя:
-d
используется для передачи значений ini через командную строку. К сожалению, нет способа отключить расширение в командной строке, если оно было настроено вphp.ini
файле. (Конечно, вы можете следовать другим ответам, но вы ничего не можете сделать, используя-d
какую-либо опциюphp
команды.)источник
На Лубунту мне нужно было
pdo_sqlite
.Включить вручную:
Если не работает, проверьте:
Список результатов отсутствует
pdo_sqlite.ini
. Мы должны установить это.Или для php7:
Расширение
sqlite3
автоматически включается в CLI и в Apache во время процесса установки, и теперь мы имеемmods-available
:pdo_sqlite.ini
,sqlite3.ini
.Отключить расширение с помощью:
источник
Вы можете указать,
-n
чтобы избежать загрузки любых расширений изphp.ini
. Это может улучшить производительность при использовании некоторых (например, XDebug). Напримеристочник
Вы должны использовать,
-n
а затем добавить каждое необходимое расширение, используя-dextension
Пример:
источник
Вы можете просто использовать
-i.bkp сделать резервную копию как php.php.bkp и записать в исходный файл
&& если первая команда выполнена успешно, перезагрузите службу httpd.
но я просто замечаю, что sed дает статус выхода 0, когда поиск не совпадает, так что вы можете использовать
Или вы можете использовать приведенный ниже скрипт для включения и выключения:
источник
conf.d/*.ini
файлы. Может быть, некоторые изменения должны быть сделаны?использование: phpenmod [-v ALL | php_version] [-s ALL | sapi_name] имя_модуля [имя_модуля_2]
Так что используйте phpenmod -s cli yourextension
источник
Пожалуйста, проверьте это
Все установленные файлы конфигурации модулей PHP доступны в каталоге / etc / php / PHP_VERSION / mods-available.
источник