ID: 23821
Comment by: keithm at aoeex dot com
Reported By: admin at donelson dot net
Status: Open
Bug Type: Scripting Engine problem
Operating System: Windows XP
PHP Version: 4.3.3-dev
New Comment:
This isn't a bug, but user error. When includeing a file via URL, php
will make a request the server just as a browser would. Therefore, PHP
will not have access to the acutual PHP code, but only what it outputs.
Inorder to make this work, either name your file something else so
that the webserver doesn't parse it (.inc for example) or use local
filesystem paths to include files and not URLs.
Previous Comments:
------------------------------------------------------------------------
[2003-05-28 13:45:01] admin at donelson dot net
Here is the scripts you requested. I had done as you asked and looked
into reporting a bug
and here is the end result. This order.php reproduces the error
perfectly. order.php is supposed to include McDonalds.php so it knows
how to place and receive and order.
<?PHP /* save anywhere as order.php */
/*
Project: PHPBug
File: order.php
Purpose: To order a Happy Meal from another server.
*/
/* error info from Windows:
PHP Script Interpreter
szAppName : php.exe szAppVer : 4.3.3.3 szModName : php4ts.dll
szModVer : 4.3.3.3 offset : 000b2edf
*/
// Enable first line below for local testing,
// second URL local testing (not working), and third for actual usage
(not Working)
// The support files are uploaded for testing purposes.
//require("phpBug/McDonalds.php"); // Works
//require("http://localhost/phpBug/McDonalds.php"); // Nope
require("http://www.donelson.net/phpBug/McDonalds.php"); // Nope
$meal = new HappyMeal(1);
$meal->Buy();
?>
<?php
/*
This file included just so you can see the source. It is at
http://www.donelson.net/phpBug/McDonalds.php
*/
// Enable first line below for local testing,
// second URL local testing, and third for actual usage
// The support files are uploaded for testing purposes.
require("food.php");
//require("http://localhost/phpBug/food.php");
//require("http://www.donelson.net/phpBug/food.php");
class HappyMeal {
var $m_meal = array();
var $m_burger;
var $m_side;
var $m_drink;
function HappyMeal($number=1) {
$this->m_meal['burger'] = new Burger($number);
$this->m_meal['side'] = new Side($number);
$this->m_meal['drink'] = new Drink($number);
}
function Buy() {
foreach ($this->m_meal as $item) {
echo sprintf("Preparing %s<br />",$item->Prepare());
}
}
}
?>
<?php
/*
This file included just so you can see the source. It is at
http://www.donelson.net/phpBug/food.php
*/
class Item {
var $name = '';
function Prepare() { return $this->name; }
}
class Burger extends Item {
var $name = 'BigMAC';
}
class Side extends Item {
var $name = 'Fries';
}
class Drink extends Item {
var $name = 'Dr Pepper';
}
?>
------------------------------------------------------------------------
[2003-05-27 03:39:44] [EMAIL PROTECTED]
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
We need a short, self contained reproducing script.
------------------------------------------------------------------------
[2003-05-26 19:54:15] admin at donelson dot net
reopened.
------------------------------------------------------------------------
[2003-05-26 19:53:29] admin at donelson dot net
Thanks sniper, I went there and download/installed 4.3.3-dev. I get the
samething on localhost, dont know on remote host. They only run the
latest released stable versions :(
Everything is same as it was before. Any more ideas for me? I got an
entire library that I am trying to get out but this needs to be fixed
first.
------------------------------------------------------------------------
[2003-05-26 19:19:06] [EMAIL PROTECTED]
This bug has been fixed in CVS.
In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/23821
--
Edit this bug report at http://bugs.php.net/?id=23821&edit=1