Necesito instalar en un servidor de la lámpara exactamente las mismas extensiones de php que están instaladas en un servidor antiguo, ¿cómo saber exactamente qué extensiones están instaladas para instalarlas en el nuevo servidor?
13
Puede utilizar el modificador de línea de comandos -mpara phpver lo que están instalados los módulos.
$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
También puede usar php -ipara obtener phpinfo();resultados a través de la línea de comando que también incluiría esta información.
Si la extensión se está utilizando realmente, será necesario hacer referencia a ella en
php.inialguna parte. Las extensiones se cargan de una manera bastante intuitiva:etcétera etcétera.
Una cosa a tener en cuenta son las extensiones que se
iniincluyen al incluir un archivo adicional . No estoy seguro acerca de Debian, pero en RHEL hay un/etc/php.d/directorio donde todos los.iniarchivos se tratan como si hubieran estado en la carpeta principal./etc/php.iniSi no está en uno de esos dos lugares (principal
php.inio uno de los archivos incluidos), entonces la extensión está más o menos sentada en el sistema de archivos que no se está utilizando.EDITAR:
En realidad, creo que mentí. Puede que tenga que mirar sus archivos php para ver las llamadas a dl () . Sin embargo, no conozco a muchas personas que cargan extensiones como esa. Ni siquiera estoy seguro de cuál sería el caso de uso, pero es otra área que probablemente debería verificar.
fuente
En Debian, las extensiones PHP se cargan a través de archivos en /etc/php5/conf.d
Aquí se pueden instalar dos tipos de paquetes Debian de PHP:
Para enumerar ambos en su sistema, puede usar este comando: dpkg -l | grep 'ii php5 \? -' que enumera los paquetes instalados que comienzan con php- o php5-.
También puede tener extensiones construidas con PECL a partir del código fuente. Haga una lista de aquellos con: pecl list
Finalmente, es posible compilar sus propias extensiones a la antigua usanza. En ese caso, es posible que no tengan un archivo en /etc/php5/conf.d pero podrían agregarse a php.ini.
Todas las extensiones generalmente tienen una sección de salida de phpinfo (); . php -m mostrará la lista de las extensiones que PHP ha cargado (cada una de las cuales debería tener un lugar en la salida de phpinfo). Habrá muchas más extensiones listadas en la salida de php -m que las que están instaladas como paquetes de complementos en Debian, porque hay muchas extensiones predeterminadas integradas en PHP, así como las que puede instalar después.
Aquí hay un ejemplo de salida de una máquina de desarrollo que enumera extensiones PHP adicionales instaladas:
fuente