Question

J'ai trouvé que:

Quand je tapez la commande suivante sur la borne:

php -i | grep php.ini

je reçois la sortie:

  

Le fichier de configuration est Loaded @ /etc/php5/cli/php.ini

Cependant, à partir phpinfo(), je peux voir:

  

Le fichier ini est chargé @ /etc/php5/apache2/php.ini

Lequel de ces travaille en ce moment? Comment est-il possible d'avoir deux fichiers php.ini?

Était-ce utile?

La solution

dépend où vous utilisez PHP. Si vous exécutez la ligne de commande, il utilise le cli/php.ini et apache2/php.ini lorsqu'il est exécuté par apache.

Vous exécutons phpinfo() via le navigateur, d'où vous obtenez /etc/php5/apache2/php.ini comme la réponse. Exécution php -r "phpinfo();" | grep "Loaded Configuration" du terminal devrait sortir le CLI ini. La même fonction, les changements de contexte.

L'avantage de ce système est évidemment de permettre à différentes configurations en fonction du contexte. Pour un exemple simplifié, vous voudrez peut-être avoir safe_mode dans apache mais il est inutile en mode CLI.

Vos chemins de .ini sont en fait tout à fait inhabituel. Normalement, la valeur par défaut .ini est juste php.ini et CLI .ini est appelé php-cli.ini et ils résident dans le même dossier.

Je ne suis pas expert en la matière, mais cela devrait être l'idée de base. Si quelqu'un a des corrections, je serais heureux de les entendre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top