I have found that:
When I type the following on terminal:
php -i | grep php.ini
I get the output:
The Loaded Configuration file is @ /etc/php5/cli/php.ini
However, from phpinfo(), I get to see:
The loaded ini file is @ /etc/php5/apache2/php.ini
Which one of these is working right now? How is it possible to have two php.ini files ?
Depends on where you are running PHP from. If you run it from command line, it uses the
cli/php.iniandapache2/php.iniwhen run through apache.You are executing
phpinfo()through the browser, hence you get/etc/php5/apache2/php.inias the answer. Runningphp -r "phpinfo();" | grep "Loaded Configuration"from the terminal should output the CLI ini. Same function, context changes.The advantage of this system is obviously to allow different configurations depending on the context. For a simplified example, you might want to have
safe_modeon in apache but it’s unnecessary in CLI mode.Your
.inipaths are actually quite unusual. Normally, the default .ini is justphp.iniand CLI .ini is calledphp-cli.iniand they reside in the same folder.I’m no expert on the subject but this should be the basic idea. If anyone has any corrections, I’d be happy to hear them.