2015-12-21 1 views
3

Je suis en train d'écrire un script qui me demande d'obtenir toutes les configurations php. Mais je trébuche un problème et des incohérences lorsque je cours le ini_get_all() dans le navigateur et en utilisant php5-cli. Voici mon extrait de code:memory_limit retourner différentes valeurs dans php5-cli et navigateur

$confiq = ini_get_all(); 
echo $config['memory_limit']['local_value']; 

Il retourne 128M quand je lance à l'aide des navigateurs, mais il retourne -1 quand je lance à l'aide php5-cli de la ligne de commande

EDIT: Il est avéré qu'ils utilisent deux fichiers php.ini différents. J'ai vérifié le cli .ini avec la commande php --ini. Maintenant, j'ai besoin de comprendre comment changer l'emplacement pour le fichier .ini pour cli

EDIT: Pour le piratage facile, j'ai créé des liens symboliques à l'apache2 php.ini pour s'assurer les deux en utilisant le même php.ini.

+1

vérifier si les deux utilisent le même fichier ini – bansi

+1

plus facile. il suffit de retirer (sauvegarder) le cli ini et de mettre un lien symbolique vers l'ini dont vous avez besoin. – bansi

+0

@bansi: Oui. Je crois que cela fonctionnera de cette façon. Je ne suis pas sûr de la meilleure pratique ou pas. Pas vraiment familier avec php. – geckob

Répondre

2

Il existe deux fichiers php.ini différents.

/etc/php5/apache2/php.ini pour le web et /etc/php5/cli/php.ini pour la ligne de commande.

Vous devez éditer le fichier INI correspondant selon le contexte. Si vous avez besoin de la même valeur ini dans le cli et le web, vous devez évidemment les modifier tous les deux. N'oubliez pas non plus de redémarrer apache (service apache2 restart) après avoir modifié les fichiers ini pour voir les changements.

+0

Je pense que 'Systemd' a repris' SysVinit' +1 pour résoudre le problème actuel – bansi