include_path related issue

This is a discussion on include_path related issue within the PHP Language forums, part of the PHP Programming Forums category; I suspect the following problem IS hosting provider specific, but they haven't been able to help me out so ...


Go Back   Usenet Forums > PHP Programming Forums > PHP Language

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-24-2007
Schraalhans Keukenmeester
 
Posts: n/a
Default include_path related issue

I suspect the following problem IS hosting provider specific, but they
haven't been able to help me out so far. Perhaps I am doing something
wrong and someone is able to spot the issue... Here goes.

The actual path of the root dir of my account with hosting provider
(H.P.) is:
/usr/local/psa/home/vhosts/mydomain.com/
The webroot is a subdir of the root:
/usr/local/psa/home/vhosts/mydomain.com/httpdocs.
Include files go in:
/usr/local/psa/home/vhosts/mydomain.com/includes.
..htaccess in httpdocs contains:
php_value include_path ".|../includes"

I can specify additional subdomains in the control panel of my account.
They automatically go in
/usr/local/psa/home/vhosts/mydomain.com/subdomains/
One of these:
/usr/local/psa/home/vhosts/mydomain.com/subdomains/customer
which also has the subdirs 'httpdocs' and 'includes'
To browse httpdocs/index.php the subdomain the URL reads:
http://customer.mydomain.com[/index.php]
The .htaccess file in httpdocs is similar to the one in my master domain.
PHP recognizes the include_path setting properly, yet fails to open ANY
file in the includes directory (e.g.):
Fatal error: main() [function.require]: Failed opening required
'dbconn.inc' (include_path='.:../includes') in
/usr/local/psa/home/vhosts/mydomain.com/subdomains/customer/httpdocs/counter.php
on line 4

Permissions are set along the same lines for both master and
sub-domains, 'r-x' to others for all subdirs involved, 'r--' for the files.

Any ideas what prevents PHP from opening include files for my
subdomains? Open_basedir is set to my root dir btw by H.P., if that
makes any difference for this issue.

Hope my message is readable enough. Thanks in advance!
Sh.
Reply With Quote
  #2 (permalink)  
Old 04-24-2007
Rik
 
Posts: n/a
Default Re: include_path related issue

Schraalhans Keukenmeester wrote:
> php_value include_path ".|../includes"



> (include_path='.:../includes')


If a unix box, the colon seems correct (windows would have a semicolon).
I've never seen a pipe use for this though, but that might be my lack
of OS knowledge and environmental variables.

--
Rik Wasmus
Reply With Quote
  #3 (permalink)  
Old 04-25-2007
Schraalhans Keukenmeester
 
Posts: n/a
Default Re: include_path related issue

Rik wrote:
> Schraalhans Keukenmeester wrote:
>> php_value include_path ".|../includes"

>
>
>> (include_path='.:../includes')

>
> If a unix box, the colon seems correct (windows would have a semicolon).
> I've never seen a pipe use for this though, but that might be my lack
> of OS knowledge and environmental variables.
>

The pipe was a typo, alas. If only it were so easy, Rik.Thanks for your
keen eye though! No news from my provider either. WEIRD!

Sh.
Reply With Quote
  #4 (permalink)  
Old 04-25-2007
Rik
 
Posts: n/a
Default Re: include_path related issue

Schraalhans Keukenmeester wrote:
> Rik wrote:
>> Schraalhans Keukenmeester wrote:
>>> php_value include_path ".|../includes"

>>
>>> (include_path='.:../includes')

>> If a unix box, the colon seems correct (windows would have a semicolon).
>> I've never seen a pipe use for this though, but that might be my lack
>> of OS knowledge and environmental variables.
>>

> The pipe was a typo, alas. If only it were so easy, Rik.


Wish it was...

> Thanks for your
> keen eye though! No news from my provider either. WEIRD!


What happens if you try to include it specifically? Does that work or
does that give a more clear error?
--
Rik Wasmus

Estimated date being able to walk again: 01-05-2007.
Less then a week, hurray!
Reply With Quote
  #5 (permalink)  
Old 04-26-2007
shimmyshack
 
Posts: n/a
Default Re: include_path related issue

On Apr 24, 4:34 pm, Schraalhans Keukenmeester <bitbuc...@invalid.spam>
wrote:
> I suspect the following problem IS hosting provider specific, but they
> haven't been able to help me out so far. Perhaps I am doing something
> wrong and someone is able to spot the issue... Here goes.
>
> The actual path of the root dir of my account with hosting provider
> (H.P.) is:
> /usr/local/psa/home/vhosts/mydomain.com/
> The webroot is a subdir of the root:
> /usr/local/psa/home/vhosts/mydomain.com/httpdocs.
> Include files go in:
> /usr/local/psa/home/vhosts/mydomain.com/includes.
> .htaccess in httpdocs contains:
> php_value include_path ".|../includes"
>
> I can specify additional subdomains in the control panel of my account.
> They automatically go in
> /usr/local/psa/home/vhosts/mydomain.com/subdomains/
> One of these:
> /usr/local/psa/home/vhosts/mydomain.com/subdomains/customer
> which also has the subdirs 'httpdocs' and 'includes'
> To browse httpdocs/index.php the subdomain the URL reads:
> http://customer.mydomain.com[/index.php]
> The .htaccess file in httpdocs is similar to the one in my master domain.
> PHP recognizes the include_path setting properly, yet fails to open ANY
> file in the includes directory (e.g.):
> Fatal error: main() [function.require]: Failed opening required
> 'dbconn.inc' (include_path='.:../includes') in
> /usr/local/psa/home/vhosts/mydomain.com/subdomains/customer/httpdocs/counter.php
> on line 4
>
> Permissions are set along the same lines for both master and
> sub-domains, 'r-x' to others for all subdirs involved, 'r--' for the files.
>
> Any ideas what prevents PHP from opening include files for my
> subdomains? Open_basedir is set to my root dir btw by H.P., if that
> makes any difference for this issue.
>
> Hope my message is readable enough. Thanks in advance!
> Sh.


the short answer is not to reply on the includes directive/.htaccess
files, just define the application include root (and any and all other
paths your application needs) for yourself in your php application and
then prefix any attempt to open an include with that definition. Your
application becomes more portable as it doesnt reply on the ability to
set the includes dir in an .htaccess file. that's what i would do
anyway!

Reply With Quote
  #6 (permalink)  
Old 04-26-2007
Schraalhans Keukenmeester
 
Posts: n/a
Default Re: include_path related issue

Rik wrote:
> Schraalhans Keukenmeester wrote:
>> Rik wrote:
>>> Schraalhans Keukenmeester wrote:
>>>> php_value include_path ".|../includes"
>>>
>>>> (include_path='.:../includes')
>>> If a unix box, the colon seems correct (windows would have a semicolon).
>>> I've never seen a pipe use for this though, but that might be my lack
>>> of OS knowledge and environmental variables.
>>>

>> The pipe was a typo, alas. If only it were so easy, Rik.

>
> Wish it was...
>
>> Thanks for your
>> keen eye though! No news from my provider either. WEIRD!

>
> What happens if you try to include it specifically? Does that work or
> does that give a more clear error?

No matter what I try, just the filename, or including the relative or
even full path to the include file, same error, no further specification
of why this happens.

(Helpdesk people can be really annoying, you tell them you have a
working solution with include files outside httpdocs which you'd like to
work for subdomains as well. The reply after two working days: "You
can't include files outside your httpdocs on the server, that's why it's
not working." Sigh!!! Guns please!)
Reply With Quote
  #7 (permalink)  
Old 04-26-2007
Schraalhans Keukenmeester
 
Posts: n/a
Default Re: include_path related issue

shimmyshack wrote:
> On Apr 24, 4:34 pm, Schraalhans Keukenmeester <bitbuc...@invalid.spam>
> wrote:
>> I suspect the following problem IS hosting provider specific, but they
>> haven't been able to help me out so far. Perhaps I am doing something
>> wrong and someone is able to spot the issue... Here goes.
>>
>> The actual path of the root dir of my account with hosting provider
>> (H.P.) is:
>> /usr/local/psa/home/vhosts/mydomain.com/
>> The webroot is a subdir of the root:
>> /usr/local/psa/home/vhosts/mydomain.com/httpdocs.
>> Include files go in:
>> /usr/local/psa/home/vhosts/mydomain.com/includes.
>> .htaccess in httpdocs contains:
>> php_value include_path ".|../includes"
>>
>> I can specify additional subdomains in the control panel of my account.
>> They automatically go in
>> /usr/local/psa/home/vhosts/mydomain.com/subdomains/
>> One of these:
>> /usr/local/psa/home/vhosts/mydomain.com/subdomains/customer
>> which also has the subdirs 'httpdocs' and 'includes'
>> To browse httpdocs/index.php the subdomain the URL reads:
>> http://customer.mydomain.com[/index.php]
>> The .htaccess file in httpdocs is similar to the one in my master domain.
>> PHP recognizes the include_path setting properly, yet fails to open ANY
>> file in the includes directory (e.g.):
>> Fatal error: main() [function.require]: Failed opening required
>> 'dbconn.inc' (include_path='.:../includes') in
>> /usr/local/psa/home/vhosts/mydomain.com/subdomains/customer/httpdocs/counter.php
>> on line 4
>>
>> Permissions are set along the same lines for both master and
>> sub-domains, 'r-x' to others for all subdirs involved, 'r--' for the files.
>>
>> Any ideas what prevents PHP from opening include files for my
>> subdomains? Open_basedir is set to my root dir btw by H.P., if that
>> makes any difference for this issue.
>>
>> Hope my message is readable enough. Thanks in advance!
>> Sh.

>
> the short answer is not to reply on the includes directive/.htaccess
> files, just define the application include root (and any and all other
> paths your application needs) for yourself in your php application and
> then prefix any attempt to open an include with that definition. Your
> application becomes more portable as it doesnt reply on the ability to
> set the includes dir in an .htaccess file. that's what i would do
> anyway!
>

Valid point, I'll make sure all stuff in my main domain uses that
solution instead. The .htaccess solution only existed in my 'testlab'.
However, in this case that doesn't seem to be the culprit. PHP has the
include path right, just isn't able to open any files in it.

Right now a 2nd helpdesk employee is modifying some configs to make
things work, he thinks he has the solution. Once fixed, I'll ask him
what exactly caused this behavour, I'll report back here.

Thanks for the input.
Sh.
Reply With Quote
  #8 (permalink)  
Old 04-26-2007
Rik
 
Posts: n/a
Default Re: include_path related issue

Schraalhans Keukenmeester wrote:
> Rik wrote:
>> Schraalhans Keukenmeester wrote:
>>> Rik wrote:
>>>> Schraalhans Keukenmeester wrote:
>>>>> php_value include_path ".|../includes"
>>>>> (include_path='.:../includes')
>>>> If a unix box, the colon seems correct (windows would have a semicolon).
>>>> I've never seen a pipe use for this though, but that might be my lack
>>>> of OS knowledge and environmental variables.
>>>>
>>> The pipe was a typo, alas. If only it were so easy, Rik.

>> Wish it was...
>>
>>> Thanks for your
>>> keen eye though! No news from my provider either. WEIRD!

>> What happens if you try to include it specifically? Does that work or
>> does that give a more clear error?

> No matter what I try, just the filename, or including the relative or
> even full path to the include file, same error, no further specification
> of why this happens.


Hmmmz, normally I'd say there's probably another open_base_dir
restriction in effect for the subdomain, that would mean another error
message though... Are you sure the settings for the subdomain are the
same as for the main one?

> (Helpdesk people can be really annoying, you tell them you have a
> working solution with include files outside httpdocs which you'd like to
> work for subdomains as well. The reply after two working days: "You
> can't include files outside your httpdocs on the server, that's why it's
> not working." Sigh!!! Guns please!)


Hehe, I've more then once explained a hoster how to configure Apache to
my wishes, after being told they didn't think something was possible...
Helpdesk ignorance is OK if they trust you enough to give them the
education they lack :-). It's a pain if they're slow though, the bulk of
the hosters I deal with reply within the hour.
--
Rik Wasmus

Estimated date being able to walk again: 01-05-2007.
Less then a week, hurray!
Reply With Quote
  #9 (permalink)  
Old 04-26-2007
Rik
 
Posts: n/a
Default Re: include_path related issue

Schraalhans Keukenmeester wrote:
> Right now a 2nd helpdesk employee is modifying some configs to make
> things work, he thinks he has the solution. Once fixed, I'll ask him
> what exactly caused this behavour, I'll report back here.


OK, awaiting in anticipation.

--
Rik Wasmus

Estimated date being able to walk again: 01-05-2007.
Less then a week, hurray!
Reply With Quote
  #10 (permalink)  
Old 04-26-2007
shimmyshack
 
Posts: n/a
Default Re: include_path related issue

On Apr 26, 3:17 pm, Schraalhans Keukenmeester <bitbuc...@invalid.spam>
wrote:
> Rik wrote:
> > Schraalhans Keukenmeester wrote:
> >> Rik wrote:
> >>> Schraalhans Keukenmeester wrote:
> >>>> php_value include_path ".|../includes"

>
> >>>> (include_path='.:../includes')
> >>> If a unix box, the colon seems correct (windows would have a semicolon).
> >>> I've never seen a pipe use for this though, but that might be my lack
> >>> of OS knowledge and environmental variables.

>
> >> The pipe was a typo, alas. If only it were so easy, Rik.

>
> > Wish it was...

>
> >> Thanks for your
> >> keen eye though! No news from my provider either. WEIRD!

>
> > What happens if you try to include it specifically? Does that work or
> > does that give a more clear error?

>
> No matter what I try, just the filename, or including the relative or
> even full path to the include file, same error, no further specification
> of why this happens.
>
> (Helpdesk people can be really annoying, you tell them you have a
> working solution with include files outside httpdocs which you'd like to
> work for subdomains as well. The reply after two working days: "You
> can't include files outside your httpdocs on the server, that's why it's
> not working." Sigh!!! Guns please!)


it does sound rather as though your setup there is non-standard, it
stragely uses .htaccess to fiddle with include paths, when of course
you should handle the environment within your app.
i wonder if it isnt because there are symbolic links which are
resolving to be outside the openbase dir restriction.

my advice: name and shame your host with its bad customer service - to
me it sounds like http://1and1.co.uk who are also notorious for
getting back to you after weeks only to have misunderstood what you
asked, and insist on telling you something along the line of "its your
browser settings" which means I just dont bother reading their
replies!

after youve named and shamed them, consider moving to somewhere wher
you are in control of your environment, which doesnt depend on
architechtural restrictions, which after all wont work on IIS etc...
are on apache with htaccess disallowed!

Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT +1. The time now is 06:06 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0