web-dev-qa-db-fra.com

PHP Avertissement: Module déjà chargé dans Unknown en ligne

Sur Mac OSX Mavericks utilisant l'homebrew php55 chaque fois que j'exécute une commande php, le message d'erreur suivant s'affiche (tout fonctionne correctement, c'est simplement ennuyeux)

PHP Warning:  Module 'intl' already loaded in Unknown on line 0

Iran

php --ini

et la sortie était

php --ini
PHP Warning:  Module 'intl' already loaded in Unknown on line 0

Warning: Module 'intl' already loaded in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File:         /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed:      /usr/local/etc/php/5.5/conf.d/ext-apcu.ini,
/usr/local/etc/php/5.5/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.5/conf.d/ext-intl.ini,
/usr/local/etc/php/5.5/conf.d/ext-memcached.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-uuid.ini,
/usr/local/etc/php/5.5/conf.d/ext-xdebug.ini

Enregistré dans le fichier php.ini et le seul endroit où intl est chargé est en haut et commenté. Le contenu des autres fichiers ressemble à quelque chose comme:

extension="/usr/local/Cellar/php55/5.5.23/lib/php/extensions/no-debug-non-zts-20121212/intl.so"

où le contenu après la dernière barre oblique est l'extension.

Je ne sais pas où chercher.

Toute aide est appréciée

39
Drew Landgrave

Je pense que vous avez chargé Xdebug probablement deux fois dans php.ini .

  1. cochez la case php.ini pour ne pas avoir xdebug.so pour les valeurs extension= et zend_extension=.

  2. Vérifiez également /etc/php5/Apache2 et /etc/php5/cli/. Vous ne devez pas charger dans chaque php.ini de ce répertoire l'extension xdebug.so. Un seul fichier php.ini devrait le charger.

41
bueltge

J'ai eu le même problème sur mac c'est-à-dire Warning: Module 'pdo_pgsql' already loaded in Unknown on line 0. Voici comment je l'ai résolu. 

  • Localisez le dossierconf.d, le mien était dans le répertoire /usr/local/etc/php/7.0/conf.d
  • Dans ce dossier, il y a un fichier appelé ext-pdo_pgsql.ini
  • Tapez Sudo nano ext-pdo_pgsql.ini pour le modifier.
  • Il devrait y avoir une ligne extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so". Mettez-le en commentaire en ajoutant un point-virgule au début de la ligne, c'est-à-dire .;extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so".
  • Enregistrez le fichier. (Je lance généralement control + O, control + M).
  • Quittez le fichier (control + X). 

J'espère que ça aide quelqu'un.

10
Allan Mwesigwa

Vous devriez avoir un répertoire /etc/php2/conf.d (au moins sur Ubuntu je le fais) contenant un tas de fichiers .ini qui sont tous chargés lors de l’exécution de php. Ces fichiers peuvent contenir des paramètres en double qui sont en conflit avec les paramètres de php.ini. Dans mon installation PHP, je remarque un fichier conf.d/20-intl.ini avec un paramètre extension=intl.so. Je parie que c'est ton conflit.

4
Matthew Marichiba

J'ai supprimé le fichier 20-mongo.ini dans /etc/php5/cli/conf.d et cela a résolu le problème.

1
Laith

J'ai eu le même problème après la mise à niveau de Fedora Server 24 (PHP 5) à 25 (PHP 7). Après enquête, j'ai découvert que /etc/php.d/ avait deux fichiers .ini différents chargeant extension=geoip.so.

La version précédente de distros avait ce fichier nommé 50-geoip.ini mais la version récente a été changée en 40-geoip.ini et je soupçonne que dans le processus de mise à niveau, l'ancienne version n'a pas été supprimée, alors que la nouvelle a été créée.

C'était le cas réel de la question. Après avoir supprimé 50-geoip.ini de /etc/php.d/ et redémarré httpd, cela a parfaitement fonctionné.

0
Ilia Rostovtsev

Il y a deux fichiers "php_intl.dll" dans le fichier php.ini sur les lignes numériques 872 et 968. si le module d'avertissement php 'intl' est déjà chargé dans unknown sur la ligne 0 ce message est concentré sur votre CLI Ensuite, vous devriez avoir à supprimer les préfixes de point-virgule sur la ligne 872. Je pense que cela sera fait .....

0
ashik

Pour résoudre ce problème, vous devez éditer votre fichier php.ini (ou extensions.ini) et commenter les extensions déjà compilées. Par exemple, après l'édition, votre fichier ini peut ressembler aux lignes ci-dessous:

;extension=pcre.so
;extension=spl.so

Source: http://www.somacon.com/p520.php

0
J.C. Gras

Dans mon cas, j'avais eu le commentaire; extension = php_curl.so dans php.ini, mais Ubuntu appelait déjà cette extension ailleurs.

Pour trouver cet "ailleurs", informez-vous sur php.ini. Dans mon cas: /Etc/php/7.1/Apache2/conf.d/20-curl.ini était le chemin.

Alors maintenant, nous éditons ce fichier (terminal):

Sudo nano /etc/php/7.1/Apache2/conf.d/20-curl.ini

Commentez le; extension = php_curl.so

Enregistrez le fichier et redémarrez Apache:

Sudo systemctl restart Apache2
0
Marcelo Agimóvel