No, pero hay herramientas que puede utilizar para analizar y modificar la configuración (por ejemplo awk).
jordanm
1
solo díganos qué configura para deshabilitar la extensión en php.ini para que podamos hacer que sea fácil desde la línea de comandos
Rahul Patil
@RahulPatil Acabo de comentar extension=x.sopara deshabilitar x.
PHPst
Respuestas:
27
Si está usando PHP5.4 + en la distribución basada en Debian, puede usar php5enmod para habilitar y php5dismod para deshabilitar las extensiones de PHP.
Tenga en cuenta que esto funciona agregando / eliminando enlaces en /etc/php5/{apache2,cli,...}/conf.d/
Pierre-Olivier Vares
1
@ Pierre-OlivierVares Este comentario fue la información realmente relevante aquí.
Xatenev
14
Puede habilitar una extensión desde la línea de comando usando:
php -d extension=/path/to/extension.so
-dse utiliza para pasar valores ini a través de la línea de comando. Desafortunadamente, no hay forma de deshabilitar una extensión en la línea de comando si se ha configurado en el php.iniarchivo. (Puede seguir las otras respuestas, por supuesto, pero no hay nada que pueda hacer usando -do cualquier opción del phpcomando).
Faltaba la lista de resultados pdo_sqlite.ini. Tenemos que instalarlo.
$ sudo apt-get install php5-sqlite
O para php7:
$ sudo apt-get install php7-sqlite3
La extensión sqlite3se habilita automáticamente en CLI y en Apache durante el proceso de instalación, y ahora tenemos mods-available: pdo_sqlite.ini, sqlite3.ini.
Puede especificar -npara evitar que se carguen extensiones php.ini. Esto puede mejorar el rendimiento cuando está usando algo (por ejemplo, XDebug). P.ej
¿Hay alguna forma de evitar que se cargue una extensión (como memcached) en un servidor alojado, aunque está configurado inicialmente? No controlo la configuración de mi host, solo las secuencias de comandos. Estoy sospechando que de alguna manera es jugar con mis sesiones y que le gustaría asegurarse de que está apagado, ya que no se sabe muy lo uso ..
userfuser
3
Tiene que usar -ny luego agregar cada extensión necesaria usando-dextension
awk
).extension=x.so
para deshabilitar x.Respuestas:
Si está usando PHP5.4 + en la distribución basada en Debian, puede usar php5enmod para habilitar y php5dismod para deshabilitar las extensiones de PHP.
fuente
Puede habilitar una extensión desde la línea de comando usando:
-d
se utiliza para pasar valores ini a través de la línea de comando. Desafortunadamente, no hay forma de deshabilitar una extensión en la línea de comando si se ha configurado en elphp.ini
archivo. (Puede seguir las otras respuestas, por supuesto, pero no hay nada que pueda hacer usando-d
o cualquier opción delphp
comando).fuente
En Lubuntu que necesitaba
pdo_sqlite
.Habilitar manualmente:
Si no funciona, verifique:
Faltaba la lista de resultados
pdo_sqlite.ini
. Tenemos que instalarlo.O para php7:
La extensión
sqlite3
se habilita automáticamente en CLI y en Apache durante el proceso de instalación, y ahora tenemosmods-available
:pdo_sqlite.ini
,sqlite3.ini
.Deshabilitar extensión con:
fuente
Puede especificar
-n
para evitar que se carguen extensionesphp.ini
. Esto puede mejorar el rendimiento cuando está usando algo (por ejemplo, XDebug). P.ejfuente
Tiene que usar
-n
y luego agregar cada extensión necesaria usando-dextension
Ejemplo:
fuente
Simplemente puedes usar
-i.bkp realiza una copia de seguridad como php.php.bkp y escribe en el archivo original
&& si el primer comando es exitoso, vuelva a cargar el servicio httpd.
pero acabo de notar que se está dando el estado de salida 0 cuando el patrón de búsqueda no coincide para que pueda usar
O puede usar el siguiente script para habilitar y deshabilitar:
fuente
conf.d/*.ini
archivos. Tal vez alguna modificación debe hacerse?uso: phpenmod [-v ALL | php_version] [-s ALL | sapi_name] nombre_módulo [nombre_módulo_2]
Entonces use phpenmod -s cli yourextension
fuente
Por favor, chequee esto
Todos los archivos de configuración de los módulos PHP instalados están disponibles en el directorio / etc / php / PHP_VERSION / mods-available
fuente