473,657 Members | 2,932 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Problems getting "require" to work in PHP5 under Apache2

The require() I'm using in a PHP script has stopped working after I
moved from PHP4 and Apache 1.3.x to PHP5 and Apache 2.x. Now I get
messages like this:

Warning: main(/includes/ReloadScript.ht ml) [function.main]: failed to
open stream: No such file or directory in
/usr/local/www/htdocs/main/AOLCompression. php on line 14

Fatal error: main() [function.requir e]: Failed opening required
'/includes/ReloadScript.ht ml' (include_path=' .:/usr/local/lib/php') in
/usr/local/www/htdocs/main/AOLCompression. php on line 14

I've seen references to the problems, but no workarounds or solutions.
What's the status? Is there a way around it?

--
Transpose hotmail and mxsmanic in my e-mail address to reach me directly.
Jul 17 '05 #1
4 2798
On Sun, 19 Dec 2004 11:33:01 +0100, Mxsmanic <mx******@hotma il.com> wrote:
The require() I'm using in a PHP script has stopped working after I
moved from PHP4 and Apache 1.3.x to PHP5 and Apache 2.x. Now I get
messages like this:

Warning: main(/includes/ReloadScript.ht ml) [function.main]: failed to
open stream: No such file or directory in
/usr/local/www/htdocs/main/AOLCompression. php on line 14

Fatal error: main() [function.requir e]: Failed opening required
'/includes/ReloadScript.ht ml' (include_path=' .:/usr/local/lib/php') in
/usr/local/www/htdocs/main/AOLCompression. php on line 14


According to the message it's looking for:

/includes/ReloadScript.ht ml

Note the leading slash, indicating it's looking from the root directory of the
server. Are you sure this is correct?

Does the actual require() statement have something prepended to the path,
perhaps a variable or constant, that due to your change in configuration is now
blank? Post line 14 of /usr/local/www/htdocs/main/AOLCompression. php (and any
previous line relevant to it, i.e. showing definitions of variables).

On a related note; are you sure you want to require() an html file? Wouldn't
readfile() be more appropriate?

--
Andy Hassall / <an**@andyh.co. uk> / <http://www.andyh.co.uk >
<http://www.andyhsoftwa re.co.uk/space> Space: disk usage analysis tool
Jul 17 '05 #2
Andy Hassall writes:
According to the message it's looking for:

/includes/ReloadScript.ht ml

Note the leading slash, indicating it's looking from the root directory of the
server. Are you sure this is correct?
It worked previously (in php4 under Apache 1.3.x).
Does the actual require() statement have something prepended to the path,
perhaps a variable or constant, that due to your change in configuration is now
blank? Post line 14 of /usr/local/www/htdocs/main/AOLCompression. php (and any
previous line relevant to it, i.e. showing definitions of variables).
Yes. It had $DOCUMENT_ROOT prepended. That now appears to be blank;
I'm not sure why (I thought it was initialized to the document root from
the Apache configuration file). I changed this with php.ini, but it
still didn't work.

The original line looks like this in the script:

<?PHP require($DOCUME NT_ROOT."/includes/ReloadScript.ht ml"); ?>
On a related note; are you sure you want to require() an html file? Wouldn't
readfile() be more appropriate?


I originally wanted to make sure the include was there. The idea was to
emulate a #include line in a PHP script (since PHP scripts cannot use
SSI).

However, as an experiment after looking around the Net, I changed it to
this:

<?PHP require($_SERVE R["DOCUMENT_R OOT"]."/includes/counter"); ?>

For some reason, this appears to work. I don't know why. The contents
of $_SERVER["DOCUMENT_R OOT"] should be the same as $DOCUMENT_ROOT,
right? Anyway, this is either a workaround or a fix (not sure which at
this point), because it eliminates the error. Did something change in
later versions of PHP4 or PHP5 (I was getting the same error with the
latest version of PHP4, so it wasn't just going to PHP5 that did it).

Also, when will the very latest version of PHP5 (5.0.3 or above) install
correctly? I'm still running 5.0.1 because that's apparently the last
version with a correct make install script (for FreeBSD UNIX).

--
Transpose hotmail and mxsmanic in my e-mail address to reach me directly.
Jul 17 '05 #3
On Mon, 20 Dec 2004 05:56:50 +0100, Mxsmanic <mx******@hotma il.com>
wrote:
However, as an experiment after looking around the Net, I changed it to
this:

<?PHP require($_SERVE R["DOCUMENT_R OOT"]."/includes/counter"); ?>

For some reason, this appears to work. I don't know why. The contents
of $_SERVER["DOCUMENT_R OOT"] should be the same as $DOCUMENT_ROOT,
right? Anyway, this is either a workaround or a fix (not sure which at
this point), because it eliminates the error. Did something change in
later versions of PHP4 or PHP5 (I was getting the same error with the
latest version of PHP4, so it wasn't just going to PHP5 that did it).


Only with register_global s enabled does $DOCUMENT_ROOT =
$_SERVER['DOCUMENT_ROOT']. Register_global s is considered a security
risk and is disabled in later version of PHP.

All this is explained in the manual.

Jul 17 '05 #4
Wayne writes:
All this is explained in the manual.


I wish there were 200 hours in a day so that I could actually read
manuals.

--
Transpose hotmail and mxsmanic in my e-mail address to reach me directly.
Jul 17 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
2986
by: Phil Powell | last post by:
I'm sorry but I can't figure out how to explain this any better than this. In PHP we have a command "require()" that obtains a file and logically places it into another file. I cannot figure out how to do this in bash script as the requirement is necessary for a migration script to obtain the code from a .cfg file and then be able for the "parent" script to run the code it "imported" from the .cfg file, much like PHP's require() or...
2
2616
by: Don | last post by:
I have a set of modules that all have the same interface, and package name: _______________________________ package dataSourcePackage; # Initialize global variables $hashOne{'uniquekey1'} = "value1"; $hashOne{'uniquekey2'} = "value1"; sub requiredMethod1()
15
6065
by: Michael | last post by:
Guten Morgen, I am implementing a script that my client wants on their website. Within the script there are several "require" statements. Any time one of these "require" statements is executed, the script terminates. Any ideas how I might solve this problem?
31
4845
by: Yeah | last post by:
Is it absolutely necessary to include "http://" in an A HREF hyperlink? Would it be wise to remove this from one's Links page, just to save code?
5
3204
by: Jim Carlock | last post by:
I've set up the following using an Alias in Apache... Alias /phpdocs/ "C:/Apache/htdocs/common/docs/php/" <Directory "C:/Apache/htdocs/common/docs/php"> Options Indexes FollowSymlinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory>
1
5050
by: yaru22 | last post by:
when I read a book, it just said we need to do import pygtk pygtk.require("2.0") import gtk in order to import gtk modules What is that pygtk.require("2.0") command for?
2
4240
by: =?Utf-8?B?Sm9obiBC?= | last post by:
A windows forms 2.0 ClickOnce deployment fails when both SSL is enabled and "require client certificate" enabled on the IIS deployment web server. Can anyone assist with how to configure this properly or at least confirm if it will just not work? When not requiring the client certificate the deployment site works fine. However, when I set SSL to "require client certificate" I am prompted for a client cert when I initially open the url....
5
2202
by: lister | last post by:
Hi all, I have a fairly diverse range of data that I want to cache in the session rather than pulling it from the database on every page refresh. The problem is is that it seems that PHP requires the class definitions available on EVERY page, as it unserialises everything even if it's not going to be used.
0
8384
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8820
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8499
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7314
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6162
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4300
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2726
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1937
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1601
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.