J'utilise Ubuntu Linux 12.04 LTS sur mon ordinateur local. J'ai installé LAMP il y a longtemps sur ma machine. Maintenant, je veux activer les extensions PHP suivantes:
Pour cela, je veux d’abord vérifier si ces extensions PHP sont activées ou non. J'ai beaucoup cherché à vérifier les extensions installées/activées PHP mais chaque fois j'ai trouvé comment installer ces extensions sur Ubuntu Linux. Alors, quelqu'un peut-il me dire comment vérifier les extensions activées/désactivées PHP dans Ubuntu Linux 12.04 LTS? Merci d'avance.
En plus de courir
php -m
pour obtenir la liste des php installés modules, vous trouverez probablement utile d'obtenir la liste des php actuellement installés paquets dans Ubuntu:
Sudo dpkg --get-selections | grep -v deinstall | grep php
Ceci est utile car Ubuntu rend php modules disponible via packages.
Vous pouvez ensuite installer le nécessaire modules en sélectionnant parmi les Ubuntu php disponibles paquets, que vous pouvez visualiser en exécutant:
Sudo apt-cache search php | grep "^php5-"
Ou, pour Ubuntu 16.04 et supérieur:
Sudo apt-cache search php | grep "^php7"
Comme vous l'avez mentionné, de nombreuses informations sont disponibles sur l'installation réelle des packages dont vous pourriez avoir besoin, aussi je ne vais pas entrer dans les détails à ce sujet ici.
Il est possible qu'un module installé ait été désactivé. Dans ce cas, il ne s'affichera pas lors de l'exécution de php -m
, mais il apparaîtra dans la liste des packages Ubuntu installés.
Les modules peuvent être activés/désactivés via l'outil php5enmod
(phpenmod
sur les distributions ultérieures) qui fait partie du package php-common
.
buntu 12.04:
Les modules activés sont liés symboliquement dans /etc/php5/conf.d
buntu 12.04: (avec PHP 5.4 +)
Pour activer un module installé:
php5enmod <modulename>
Pour désactiver un module installé:
php5dismod <modulename>
buntu 16.04 (php7) et supérieur:
Pour activer un module installé:
phpenmod <modulename>
Pour désactiver un module installé:
phpdismod <modulename>
Recharger Apache
N'oubliez pas de recharger Apache2 après avoir activé/désactivé:
service Apache2 reload
Pour vérifier si ces extensions sont activées ou non, vous pouvez créer un fichier php, à savoir info.php
, et écrire le code suivant:
<?php
echo "Gd: ", extension_loaded('Gd') ? 'OK' : 'MISSING', '<br>';
echo "XML: ", extension_loaded('xml') ? 'OK' : 'MISSING', '<br>';
echo "Zip: ", extension_loaded('Zip') ? 'OK' : 'MISSING', '<br>';
?>
C'est ça.
Vous pouvez voir quels modules (compilés en) sont disponibles via le terminal via php -m
Extension de recherche dans
/etc/php5/Apache2/php.ini
Pour plus d'informations sur php extensions
etc., sur site.
Créez un nouveau fichier et nommez-le info.php
(ou un autre name.php
)
Écrivez ce code dedans:
<?php
phpinfo ();
?>
Enregistrez le fichier dans la root
(home) du site
example.com/info.php
Toutes les informations php
de votre site seront affichées.Le moyen le plus simple de savoir quelles extensions sont (compilées et) chargées (et non dans la CLI) consiste à faire exécuter à un serveur les éléments suivants:
<?php
$ext = get_loaded_extensions();
asort($ext);
foreach ($ext as $ref) {
echo $ref . "\n";
}
PHP cli n'a pas nécessairement les mêmes extensions chargées.