ID:               49039
 Comment by:       sant9442 at gmail dot com
 Reported By:      sant9442 at gmail dot com
 Status:           Feedback
 Bug Type:         CGI related
 Operating System: Windows
 PHP Version:      5.3.0
 New Comment:

> I find this whole report confusing. Let us try to make it simple.

Yes I agree, and thanks to your clue about junctions points and my
yesterday attempt to fool it with a junction pointing to a longer folder
name, I think  I found the problem.

In our hosting server product installation folder, for example:

  d:\wc63

we have a locked in sub folder name "HTTP"

  d:\wc63\http

would be the so called "document root" folder.  

Now, for my development or support, I create multiple HTTP-build# to
represent versions of our templates: 

  http-4521\
  http-4522\
  http-4525\
  http-4529\

or I might have customer's copies of their HTTP folder

  http-customer1\
  http-customer2\

What I do is create a junction to symbolic name HTTP for example:

  junction HTTP HTTP-4529

So in DOS, the DIR listing shows:

06/20/2009  09:22 PM    <JUNCTION>     http
07/23/2009  05:48 PM    <DIR>          http-4529

Now, I have a PWE (PHP for wildcat) script in

   http-4529\pwe\phpinfo.php

which is linked to:

   http\pwe\phpinfo.php

PHP 5.3 has a problem with this:

 php.exe d:\wc63\http\pwe\phpinfo.php

   Could not open input file: d:\wc63\http\pwe\phpinfo.php

 php.exe d:\wc63\http-4529\pwe\phpinfo.php
    
   HELLO PRIVATE

It appears PHP 5.3 has an issue with symbolic links, 

This is not the case with 5.2.6.

 g:\php526\php.exe d:\wc63\http\pwe\phpinfo.php

  HELLO PRIVATE

Thanks


Previous Comments:
------------------------------------------------------------------------

[2009-07-23 22:03:31] paj...@php.net

I find this whole report confusing. Let us try to make it simple.

Please provide a single example where it fails with 5.3.0 and works
with 5.2.x, using a simple directory structure:

For example: c:\www\http\tst\t.php

Not using any junction, mklink or mounted directory.

Also without your custom extension.


------------------------------------------------------------------------

[2009-07-23 21:07:35] sant9442 at gmail dot com

From: paj...@php.net

> It does not make sense to me.
> Are these paths real paths or mounted (virtual or not), 
> junctions, etc

Good question. All of the above was tried.

All this started with a programmer reported that our PHP extension
PHP_WILDCAT.DLL called PWE (PHP Wildcat Extenson) for 5.2.6 was not
working with 5.3.0. 

Our installed creates to sub folders for PWE sample scripts:

Server side (using d:\wc63 install folder of our hosting server)

   d:\wc63\http\pwe
   d:\wc63\http\public\pwe

In our system, http is inherently private (authentication is required) 
with the excepton of the public\ folder.  So d:\wc6\http is the
docuument root, and URL references will be:

   /pwe
   /public/pwe

In any case, after downloading 5.3-WIN32 and the source code for VC6 
builds, I recompiled the PHP_WILDCAT.DLL extension  for 5.3. and the
first test was:

   /pwe/phpinfo.php

to see the Wildcat! extension module info.  But I got the "No Input
File Specified." error.  I copied it to the public\pwe folder and tried
it:

   /public/pwe/phpinfo.php

and that worked.

That began a 10 hour adventure to see what was going on.  I focused on
the the ini CGI settings which were:

  ;doc_root =
  cgi.force_redirect=0
  ;cgi.fix_pathinfo=1

and I wasted time trying all kinds of variations to no avail.  What I
did finally realized that it wasn't related to our extension and could
repeat the problem via the command line, by simply emulating what the
web server would do:

  cd \wc63\http  
  d:\wc63\php\php-cgi.exe d:\wc63\http\pwe\phpinfo.php

d:\wc63\php would be where PHP installed, but it can be anywhere of
course.  The result of above is:

Status: 404 Not Found
X-Powered-By: PHP/5.3.0
Content-type: text/html

No input file specified.

Now, I have PHP 5.2.6, also installed 

  d:\wc63\php526\php-cgi.exe d:\wc63\http\pwe\phpinfo.php

X-Powered-By: PHP/5.2.6
Content-type: text/html

HELLO PRIVATE

Now, all I have to do is use a folder that is not 3 characters, which I
have one called WCPHP which I created and copied the script to:

    d:\wc63\php\php-cgi.exe d:\wc63\http\wcphp\phpinfo.php

Status: 404 Not Found
Content-type: text/html

HELLO PRIVATE

Anyway, once I saw it was the 3 character PWE folder I was thinking of
how to fool it or change our installer to use longer folder names. I
even tried a junction

   cd \wc63\http
   junction wcphp pwe

and it that didn't work which left me wondering if PHP-CGI.EXE was
resolving the junction path.

This is all odd and rest assured, whether anyone can repeat it or not,
the issue does exist. I hope some one can trace thru the logic.

------------------------------------------------------------------------

[2009-07-23 20:36:07] paj...@php.net

It does not make sense to me.

Are these paths real paths or mounted (virtual or not), junctions,
etc?



------------------------------------------------------------------------

[2009-07-23 20:11:32] sant9442 at gmail dot com

I am getting mixed results:

All these are called from my d:\wc63\http document root folder (not set
in the ini, by switched there by the web server which also sets
DOCUMENT_ROOT=d:\wc63\http :

D:\wc63\http>G:\files\php\php5.3-200907231830\php-cgi
v:\wc5beta\http\wcphp\phpinfo.php
PHP Warning:  Unknown: failed to open stream: No such file or directory
in Unknown on line 0
Status: 404 Not Found
X-Powered-By: PHP/5.3.1-dev
Content-type: text/html

No input file specified.

D:\wc63\http>G:\files\php\php5.3-200907231830\php-cgi
v:\wc5beta\http\wcphp\phpinfo.php
PHP Warning:  Unknown: failed to open stream: No such file or directory
in Unknown on line 0
Status: 404 Not Found
X-Powered-By: PHP/5.3.1-dev
Content-type: text/html

No input file specified.

D:\wc63\http>G:\files\php\php5.3-200907231830\php-cgi
v:\wc5beta\http\pwe\phpinfo.php
PHP Warning:  Unknown: failed to open stream: No such file or directory
in Unknown on line 0
Status: 404 Not Found
X-Powered-By: PHP/5.3.1-dev
Content-type: text/html

No input file specified.

D:\wc63\http>G:\files\php\php5.3-200907231830\php-cgi
d:\wc63\http\public\pwe\phpinfo.php
X-Powered-By: PHP/5.3.1-dev
Content-type: text/html

hello


D:\wc63\http>G:\php526\php-cgi.exe d:\wc63\http\public\pwe\phpinfo.php
X-Powered-By: PHP/5.2.6
Content-type: text/html

hello


D:\wc63\http>G:\php526\php-cgi.exe
d:\wc63\http\public\wcphp\phpinfo.php
Status: 404 Not Found
X-Powered-By: PHP/5.2.6
Content-type: text/html

No input file specified.

D:\wc63\http>G:\php526\php-cgi.exe d:\wc63\http\pwe\phpinfo.php
X-Powered-By: PHP/5.2.6
Content-type: text/html

HELLO PRIVATE

I don't wish to spend another ten hours on this trying to explain it.

As shown in the last example, none of these php-cgi.exe command line 
issues appear in 5.2.6 or lesser version.  Only with 5.3.

Here is my analysis of the situation. In 5.3, there was a massive
change to the parsing and file name resolution logic. There are issues
with it.

Unfortunately, I lack the time to get into a windows recompiling
project I can trace it down. The last time I did that I lost a tooth.
:-)

Please also see bug #49040 which was found during the time trying to
figure this out expecting it was related to the cgi ini settings and/or
the env settings where were not the case.

thanks

------------------------------------------------------------------------

[2009-07-23 19:25:10] paj...@php.net

Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/

If any, try a 5.3 snapshot...

------------------------------------------------------------------------

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/49039

-- 
Edit this bug report at http://bugs.php.net/?id=49039&edit=1

Reply via email to