Não, mas existem ferramentas que você pode usar para analisar e modificar a configuração (por exemplo awk).
31413 jordanm
1
apenas deixe-nos saber o que você configurar para desabilitar a extensão no php.ini para que possamos fazer é fácil a partir da linha de comando
Rahul Patil
@RahulPatil Acabei de comentar extension=x.sopara desativar o x.
PHPst 26/02
Respostas:
27
Se você estiver usando o PHP5.4 + na distribuição baseada no Debian, poderá usar o php5enmod para ativar e o php5dismod para desativar as extensões PHP.
Nota Isso funciona, adicionando / removendo os links em /etc/php5/{apache2,cli,...}/conf.d/
Pierre-Olivier Vares
1
@ Pierre-OlivierVares Este comentário foi a informação realmente relevante aqui.
Xatenev 22/01
14
Você pode habilitar uma extensão na linha de comando usando:
php -d extension=/path/to/extension.so
-dé usado para transmitir valores ini através da linha de comando. Infelizmente, não há como desativar uma extensão na linha de comando se ela tiver sido configurada no php.iniarquivo. (Você pode seguir as outras respostas, é claro, mas não há nada que possa fazer usando -dou qualquer outra opção do phpcomando.)
A lista de resultados estava ausente pdo_sqlite.ini. Temos que instalá-lo.
$ sudo apt-get install php5-sqlite
Ou para php7:
$ sudo apt-get install php7-sqlite3
A extensão sqlite3é ativada automaticamente na CLI e no Apache durante o processo de instalação e agora temos mods-available: pdo_sqlite.ini, sqlite3.ini.
Você pode especificar -npara evitar o carregamento de qualquer extensão php.ini. Isso pode melhorar um pouco o desempenho quando você estiver usando alguns (por exemplo, XDebug). Por exemplo
Existe alguma maneira de impedir o carregamento de uma extensão (como o memcached) em um servidor hospedado, embora ela esteja configurada inicialmente? Eu não controlo a configuração do meu host, apenas os scripts. Estou suspeitando que é de alguma forma bagunçar com minhas sessões e gostaria de se certificar de que está desligado desde que eu realmente não usá-lo ..
userfuser
3
Você precisa usar -ne depois anexar cada extensão necessária usando-dextension
awk
).extension=x.so
para desativar o x.Respostas:
Se você estiver usando o PHP5.4 + na distribuição baseada no Debian, poderá usar o php5enmod para ativar e o php5dismod para desativar as extensões PHP.
fonte
Você pode habilitar uma extensão na linha de comando usando:
-d
é usado para transmitir valores ini através da linha de comando. Infelizmente, não há como desativar uma extensão na linha de comando se ela tiver sido configurada nophp.ini
arquivo. (Você pode seguir as outras respostas, é claro, mas não há nada que possa fazer usando-d
ou qualquer outra opção dophp
comando.)fonte
No Lubuntu eu precisava
pdo_sqlite
.Ativar manualmente:
Se não funcionar, verifique:
A lista de resultados estava ausente
pdo_sqlite.ini
. Temos que instalá-lo.Ou para php7:
A extensão
sqlite3
é ativada automaticamente na CLI e no Apache durante o processo de instalação e agora temosmods-available
:pdo_sqlite.ini
,sqlite3.ini
.Desativar extensão com:
fonte
Você pode especificar
-n
para evitar o carregamento de qualquer extensãophp.ini
. Isso pode melhorar um pouco o desempenho quando você estiver usando alguns (por exemplo, XDebug). Por exemplofonte
Você precisa usar
-n
e depois anexar cada extensão necessária usando-dextension
Exemplo:
fonte
Você pode simplesmente usar
-i.bkp faça backup como php.php.bkp e grave no arquivo original
&& se o primeiro comando for bem-sucedido, recarregue o serviço httpd.
mas noto que o sed está dando o status de saída 0 quando o padrão de pesquisa não corresponde para que você possa usar
Ou você pode usar o script abaixo para ativar e desativar:
fonte
conf.d/*.ini
arquivos. Talvez algumas modificações precisem ser feitas?uso: phpenmod [-v ALL | php_version] [-s ALL | sapi_name] module_name [module_name_2]
Então use phpenmod -s cli yourextension
fonte
Por favor, checar isto
Todos os arquivos de configuração dos módulos PHP instalados estão disponíveis no diretório / etc / php / PHP_VERSION / mods-available
fonte