Il semble que la ligne de commande php utilise un php.ini différent de l'interpréteur php principal. J'utilise Ubuntu 10.4. Mon problème est que dans le fichier php.ini principal, j'ai inclus un chemin supplémentaire pour une bibliothèque externe, mais que dans la version cli, ce n'est pas présent, et j'ai donc une erreur d'inclusion de chemin.
merci
Il suffit de demander à PHP:
$ php -i |grep php\.ini
Mieux encore: $ php --ini
Cela affichera également tous les fichiers * .ini supplémentaires chargés (habituellement dans certains répertoires conf.d dans debian):
Fichier de configuration (php.ini) Chemin:/etc/php5/cli
Fichier de configuration chargé: /etc/php5/cli/php.ini
Recherchez d’autres fichiers .ini dans: /etc/php5/cli/conf.d
Autres fichiers .ini analysés: /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
Notez qu'il s'agissait de php-cli, php-cgi n'a pas cette information pour autant.
Lors de mon dernier emploi, j'avais l'habitude de spécifier mon fichier ini à chaque exécution ...
C:\php\cli\php.exe -c C:\php\php.ini myscript.php
Vous pouvez trouver php.ini en utilisant la commande ci-dessous. dans LINUX
find / -name php.ini
ou
locate php.ini
Il est intéressant de noter que dans les deux tests (sur Apache avec phpinfo () et sur cli avec php --ini), le chemin du fichier de configuration est c:\windows. Plus d'infos ici
/etc/php5/cli/php.ini