Re: bug fix

Jon <[email protected]> Mon, 02 Feb 2004 17:33:05 -0800
Newsgroups gmane.org.ballistichelmet.devel
Message-ID <[email protected]>
We should be able to set up our include directories through PHP without
having to reference any folders.. ie.  include heads.php

http://www.modwest.com/help/kb.phtml?qid=98&cat=5

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.


[ I would think this option is out ... ]



   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.

[ eh, kind of a pain.  You've gotta set it for every page anyway.  must
be a better way to do it]

   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.

[ This is probably our best bet.  It would probably override anything
further down the dir tree... ?]

dvanhorn wrote:
> I've fixed a long time bug that has always bothered me.  I changed the
> bhinclude/mantra-line.php file:
> 
> - print $mantra;
> + print stripslashes($mantra);
> 
> The problem is, wherever you have a subfolder of www/ you have to make a local
> copy of bhinclude/.  So now the change needs to be applied in several places.
> 
> Rather than make the change, is there a way to make this work with one copy of
> bhinclude/ from any folder?
> 
> Also, I fixed 404.html to use absolute paths so that the images can be found
> when you get a 404 that is not in the root folder.  Eg.
> 
>    http://ballistichelmet.org/bunk/ass/link/
> 
> David
> 
> _______________________________________________
> devel mailing list
> [email protected]
> http://ballistichelmet.org/mailman/listinfo/devel