Home > PHP > How do I set PHP include_path?

How do I set PHP include_path?

October 8th, 2009

Here you can see how to setup include_path for some customer who needs use PEAR modules.

How do I set PHP include_path?

There are at least 2 ways you can set your PHP include_path.

1. Edit your /etc/php.ini file. Inside that file is a directive section for “Paths and Directories.” By default it is set to “.:/usr/local/lib/php”. You can change that value to whatever you like or add to (or eliminate) the default like this:

include_path = .:/usr/local/lib/php:./include

The above must be entered all on one line, with no linebreaks. The above will cause php scripts to search for a directory named “include”, and will look for it under the current directory of the running script in addition to the default, which is to first search the current directory and then search the /usr/local/lib/php directory (which is a system directory that is not writeable by you and is reserved for things like PEAR).

The format of the include_path variable is a list of directories separated with a colon. A “.” (a period) in the include path means the current directory, and allows for relative includes. More information is available here.

2. Use the function ini_set(). For example if you wanted to set your PHP include_path to “.:../:./include:../include” then you would do this in your PHP code:

ini_set(”include_path”, “.:../:./include:../include”);

You can also use ini_set() to affect other PHP settings like auto_prepend_file, auto_append_file, error_reporting, etc.

3. This last option does not apply to all users. Only if you have specifically requested the Apache module of PHP, then instead of editting the php.ini file, you would make an .htaccess file in the directory that you want to set the include_path for, and inside that file put the following on one line:

php_value include_path .:../:./include:../include

The above must be entered all on one line, with no linebreaks. All directories below that one will be similarly affected unless you make an .htaccess file inside them spcifying a different include_path.

PHP

  1. No comments yet.
  1. No trackbacks yet.
You must be logged in to post a comment.