Jump to content

php include not working


jacobjmorris

Recommended Posts

My php include is not working:

<?php include('/components/include/banner.php'); ?>

This is the error message I get:

Warning: main(): open_basedir restriction in effect. File(/components/includes/banner.php) is not within the allowed path(s): (/home/gayeecom/:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/gayeecom/public_html/about/index.php on line 26


However, if I were to move banner.php within the same folder as the file I'm trying to include it, then it works fine. So, I'm guessing this has something to do with how I'm constructing the file path?

Jacob

Link to comment
Share on other sites

[!--quoteo(post=381707:date=Jun 8 2006, 10:45 PM:name=jacobjmorris)--][div class=\'quotetop\']QUOTE(jacobjmorris @ Jun 8 2006, 10:45 PM) [snapback]381707[/snapback][/div][div class=\'quotemain\'][!--quotec--]
My php include is not working:

<?php include('/components/include/banner.php'); ?>

This is the error message I get:

Warning: main(): open_basedir restriction in effect. File(/components/includes/banner.php) is not within the allowed path(s): (/home/gayeecom/:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/gayeecom/public_html/about/index.php on line 26
However, if I were to move banner.php within the same folder as the file I'm trying to include it, then it works fine. So, I'm guessing this has something to do with how I'm constructing the file path?

Jacob
[/quote]

I used to get something similar to this back when PHP upgraded to PHP4... Try adding the at sign @ between <?php and include to create:

<?php @ include('/components/include/banner.php'); ?>

That should do it... PHP can be analretentive with technicalities... Let me know if that works...

-Ross :D
Link to comment
Share on other sites

[!--quoteo(post=381710:date=Jun 8 2006, 09:51 PM:name=DXPhoenix323)--][div class=\'quotetop\']QUOTE(DXPhoenix323 @ Jun 8 2006, 09:51 PM) [snapback]381710[/snapback][/div][div class=\'quotemain\'][!--quotec--]
I used to get something similar to this back when PHP upgraded to PHP4... Try adding the at sign @ between <?php and include to create:

<?php @ include('/components/include/banner.php'); ?>

That should do it... PHP can be analretentive with technicalities... Let me know if that works...

-Ross :D
[/quote]

adding the @ just supresses the warning rather than getting rid of it. It seems like the problem is you're not allowed to access the basdir which is /. If your script file is located in /home/gayeecom/scripts/script.php and you want to include a file in /home/gayeecom/scripts/components/include/banner.php you have to either use the full path or components/include/banner.php (notice the lack of / at the beginning). Basically what I'm saying is never start the filepath with / unless you're going to use the full filepath.
Link to comment
Share on other sites

Hey Rob

Thanks for the tip! I did get it to work using:

<?php include('http://www.website.com/components/includes/banner.php'); ?>

However, I should be able to make this path relative, so when I try:

/components/includes/banner.php

or

../components/includes.banner.php

it doesn't work, any ideas?

just figured out how to do it, have to start at the base directory on the server, i got it working

thanks guys for your input! it was really helpful
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.