10

I've searched all over the place and can't seem to find an answer for this. I'm trying to set an include path in the php.ini file of my local wamp server. I currently don't understand one of two things:

  1. What to put in the quotes of the include path setting itself.
    For example, if I wanted to add C:\wamp\www as an include path, would it be
    include_path = ".;C:\wamp\www\"?
  2. Where to put the include path line. Can I put it anywhere, or do I have to put it in a specific place?

Some common errors I've read about in my research that I've checked.

  • I'm editing the php.ini file located at C:\wamp\bin\php\php5.3.8
  • I've restarted the server after I've made my changes and have checked if it had updated using the phpinfo() function.

UPDATE
This is currently what I have, but it still doesn't work.

; Windows: "\path1;\path2"
include_path = ".;C:\php\pear;C:\wamp\www"
Kevin Pei
  • 5,800
  • 7
  • 38
  • 55
  • The include path is correct and it shows when you call phpinfo(). So how can you say it doesn't work? – markus Feb 18 '12 at 23:54
  • It doesn't show in phpinfo for me for some reason... maybe it's my system or something – Kevin Pei Feb 18 '12 at 23:55
  • And your phpinfo() also shows that the php.ini you're editing is actually the one which is loaded? – markus Feb 18 '12 at 23:56
  • Apache reads from **wamp\bin\apache\Apachex.y.z\bin\php.ini** file. You should add the include_path to that php.ini file and restart your wamp services – Leandri Sep 11 '14 at 13:29

4 Answers4

13

This all depends on what you are trying to accomplish. Personally, I don't edit the php.ini file directly for setting include_paths, rather I use the following construct, in code:

// This will append whichever path you would like to the current include path
// PHP is smart enough to convert / with \ if on a Windows box
// If not you can replace / with DIRECTORY_SEPARATOR
set_include_path(get_include_path() . PATH_SEPARATOR . 'my/custom/path');

-- Edit --

Chances are there may be multiple copies of php.ini on your system, and that you are not editing the one that is being used by PHP.

cwallenpoole
  • 79,954
  • 26
  • 128
  • 166
Mike Purcell
  • 19,847
  • 10
  • 52
  • 89
  • I could use this as a temporary fix, but I would rather put it into the php.ini file, as I want the changes to be global without me having to add the code to every single file. – Kevin Pei Feb 18 '12 at 23:34
  • Understood. I use MVC so I set all include_path directives through one script and it affects the entire application. – Mike Purcell Feb 19 '12 at 00:04
  • 1
    If anyone refers to this in the future, please look at the solution below. I've marked this as answer because he has solved it in a comment on the post I've made blow – Kevin Pei Feb 19 '12 at 00:25
6

The php.ini file will have include_path already in it, but commented out, that is where you should put it, by uncommenting it. It also has examples for windows. It will look like this, just remove the semicolon preceding "include_path"

; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
thenetimp
  • 9,487
  • 5
  • 29
  • 42
0

Hit this link when I was trying to debug why the include_path in my php.ini file was not taking effect. I am talking about my ubuntu setup with a bitnami api. The solution was to restart the php-fpm using ./ctlscript properly. Was restarting only apache but had to restart php-fpm as well.

Hopefully helps somebody trying it in ubuntu with a bitnami lampstack.

ram
  • 39
  • 1
  • 1
  • 5
0

If you discover this thread and you're using a current version of WAMPServer you might run into the issue I had where you edit the php.ini referenced in the phpinfo() report, but it doesn't change the includes path. Doing a search of the WAMP directory showed 2 DLL's (both named php5ts.dll in the php and apache dirs) where the include path is specified. Use the Bitnami WAMP environment instead (https://bitnami.com/stack/wamp/installer). GO PATS!

Ginja Ninja
  • 395
  • 1
  • 6
  • 15