RE: Where to put my class files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I tried this, but now I get this error.

Warning: main(): open_basedir restriction in effect.
File(/home/httpd/vhosts/mydomain.com/httpsdocs/admin/../../httpdocs/classes/
orderadmin.class.php) is not within the allowed path(s):
(/home/httpd/vhosts/mydomain.com/httpsdocs:/tmp) in /home/httpd/vhosts/
mydomain.com/httpsdocs/admin/index.php on line 4

Warning:
main(/home/httpd/vhosts/mydomain.com/httpsdocs/admin/../../httpdocs/classes/
orderadmin.class.php): failed to open stream: Operation not permitted in
/home/httpd/vhosts/mydomain.com/httpsdocs/admin/index.php on line 4

Fatal error: main(): Failed opening required
'/home/httpd/vhosts/mydomain.com/httpsdocs/admin/../../httpdocs/classes/orde
radmin.class.php' (include_path='.:/usr/share/pear') in
/home/httpd/vhosts/mydomain.com/httpsdocs/admin/index.php on line 4

mydomain.com is just something I replaced the real domain name with.

What I am doing wrong?

/Peter


-----Original Message-----
From: Chris [mailto:dmagick@xxxxxxxxx] 
Sent: Tuesday, February 28, 2006 1:45 PM
To: Peter Lauri
Cc: php-general@xxxxxxxxxxxxx
Subject: Re:  Where to put my class files

Peter Lauri wrote:
> Best group member,
> 
> I want to run the backend of the system under HTTPS for security reasons.
> The pages in HTTP and HTTPS are both using the same classfiles.
> 
> Right now I have the class files in httpdocs/classes/
> 
> In the httpsdocs/admin I have a variable
> $class_path='http://www.mydomain.com/classes/'; to describe where the
class
> files can be found. I do this that does not generate an error:
> 
> require_once($class_path.'orderadmin.class.php');

Including them this way will have already processed the php. It's like 
viewing the file using a browser.

> When I then do below it gives be an error.
> echo OrderAdmin::getNewOrderList();
> 
> Fatal error: Undefined class name 'orderadmin' in
> /home/httpd/vhosts/mydomain.com/httpsdocs/admin/order.php on line 46
> 
> When running on the localhost and with the admin in a subfolder in HTTP it
> is no problems.
> 
> Where should I locate my class files so that they are visible for both
HTTP
> and HTTPS? And how should I set my $class_path? I do not think my
> $class_path is good enoght, because then I would not have that problem.
> 
> I have tried: $class_path='../../http/classes/';

You need to do something like:

// this gives you /home/httpd/vhosts/mydomain.com/httpsdocs/admin
$my_path = dirname(__FILE__);

// go back to the other folder.
$class_path = $my_path . '/../../httpdocs/classes/';

-- 
Postgresql & php tutorials
http://www.designmagick.com/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux