I am trying to run some PHP pages on the command line but am running into a few problems with mysql and other PHP extensions.

Running php --ini produces the following output:

Configuration File (php.ini) Path: /usr/local/lib Loaded Configuration File: (none) Scan for additional .ini files in: (none) Additional .ini files parsed: (none) 

When I run php on the command line it cannot find my php.ini file. This is because the path is incorrect. My php.ini is actually located in /etc/php.ini as stated in my phpinfo(); file. PHP runs fine in the browser.

How do I change the path of my php.ini file for command line PHP?

I am running Apache2 (CentOS-5.5) and PHP 5.2.6.

2 Answers

Using the -c option, you can specify which php.ini file should be used :

php -c /etc/php.ini your-php-script.php 


As a reference, see the output of php --help :

$ php --help Usage: php [options] [-f] <file> [--] [args...] php [options] -r <code> [--] [args...] php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...] php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...] php [options] -- [args...] php [options] -a -a Run as interactive shell -c <path>|<file> Look for php.ini file in this directory -n No php.ini file will be used -d foo[=bar] Define INI entry foo with value 'bar' ... 
1

First update your sloacate database by using the command updatedb

Then try to locate php.ini file by using the command php --ini

I hope it'll update the slocate database and it will display the ini files loaded path.

[root@tamilan src]# php --ini Configuration File (php.ini) Path: /etc Loaded Configuration File: /etc/php.ini Scan for additional .ini files in: /etc/php.d Additional .ini files parsed: /etc/php.d/apc.ini, 

To run php with customized or other php.ini file use the below method

php -c /etc/php.ini your-php-script-file.php 
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.