tags:

views:

125

answers:

4

It appears that the php command line is using a different php.ini from the main php interpreter. I am using Ubuntu 10.4. My problem is that in the main php.ini I have included an extra path for an external library, but in the cli version this is not present, and so I have a path inclusion error.

thanks

+2  A: 

/etc/php5/cli/php.ini

ceejayoz
+6  A: 

Just ask PHP:

$ php -i |grep php\.ini

timdev
Better answer than mine, as it'll work for non-default and non-Ubuntu uses.
ceejayoz
+3  A: 

Better yet: $ php --ini

This will also show all extra *.ini files loaded (usually hanging around in some conf.d dir in debian):

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/apc.ini,
/etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/gd.ini,
/etc/php5/cli/conf.d/geoip.ini,
/etc/php5/cli/conf.d/imagick.ini,
/etc/php5/cli/conf.d/imap.ini,
/etc/php5/cli/conf.d/ldap.ini,
/etc/php5/cli/conf.d/memcache.ini,
/etc/php5/cli/conf.d/memcached.ini,
/etc/php5/cli/conf.d/ming.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/snmp.ini,
/etc/php5/cli/conf.d/sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/suhosin.ini,
/etc/php5/cli/conf.d/tidy.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/xsl.ini

Note that this was about php-cli, php-cgi does not have this afaik.

Wrikken
A note about all the `conf.d` files - in Ubuntu, that folder is a symlink, so they're shared across all PHP uses.
ceejayoz
As it is per default in Debian, assuming one installed from the normal repositories.
Wrikken
+1  A: 

At my last job, I got in the habit of specifying my ini file on every execution...

C:\php\cli\php.exe -c C:\php\php.ini myscript.php
Fosco