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
Je pense que vous avez chargé Xdebug probablement deux fois dans php.ini
.
cochez la case php.ini
pour ne pas avoir xdebug.so
pour les valeurs extension=
et zend_extension=
.
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.
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.
conf.d
, le mien était dans le répertoire /usr/local/etc/php/7.0/conf.d
. ext-pdo_pgsql.ini
. Sudo nano ext-pdo_pgsql.ini
pour le modifier.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"
.J'espère que ça aide quelqu'un.
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.
J'ai supprimé le fichier 20-mongo.ini dans /etc/php5/cli/conf.d et cela a résolu le problème.
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é.
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 .....
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
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