php-windows Digest 3 Aug 2013 08:54:49 -0000 Issue 4127

Topics (messages 31089 through 31094):

Re: Readfile() + mpg = http status 500, windows server 2012, php 5.5.1
        31089 by: Jacob Kruger
        31090 by: oli.laurel.arcor.de
        31091 by: oli.laurel.arcor.de
        31092 by: Eric Stenson
        31093 by: Jacob Kruger
        31094 by: oli.laurel.arcor.de

Administrivia:

To subscribe to the digest, e-mail:
        php-windows-digest-subscr...@lists.php.net

To unsubscribe from the digest, e-mail:
        php-windows-digest-unsubscr...@lists.php.net

To post to the list, e-mail:
        php-wind...@lists.php.net


----------------------------------------------------------------------
--- Begin Message ---
And, if you change Content-Disposition to something like?:
header('Content-Disposition: attachment; filename="movie.mpg"');

Jacob Kruger
Blind Biker
Skype: BlindZA
'...fate had broken his body, but not his spirit...'

----- Original Message ----- From: <oli.lau...@arcor.de>
To: <php-wind...@lists.php.net>
Sent: Friday, August 02, 2013 6:20 PM
Subject: [PHP-WIN] Readfile() + mpg = http status 500, windows server 2012, php 5.5.1


Hi List,
i installed a blank Windows Server 2012 Standard, added Role IIS & Feature CGI
extracted 5.5.1 VC11 x86 Non Thread Safe to c:\Program Files (x86)\php
installed vcredist_x86.exe

added Handler Mappings in IIS
Request path: *.php
Module: FastCgiModule
Executable: c:\Program Files (x86)\php\php-cgi.exe
Name: PHP via FastCgi

Added 2 files to C:\inetpub\wwwroot index.php & movie.mpg (6MB)
Content of index.php

<?php
$track = "movie.mpg";
if (file_exists($track)) {
   header("Content-Type: audio/mpeg");
   header('Content-Length: ' . filesize($track));
   header('Content-Disposition: inline; filename="movie.mpg"');
   header('X-Pad: avoid browser bug');
   header('Cache-Control: no-cache');
   readfile($track);
   exit;
} else {
   header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
   echo "no file";
}

?>

Now every time the index.php is requested i get an error 500 in Webserver log. But file will be delivered sucessfully.
Is there a problem with mpg files and readfile();
No difference with 5.4.17, 5.3.27 & Windows Server 2008 R2.
I know its very basic, but expected result should be: HTTP-Status: 200 or?
phpinfo() will be delivered succesful.

Thx + regards
oli

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




--- End Message ---
--- Begin Message ---
 Hi,

well i open at the same time 6 *.cmd scripts with the following command:
"C:\Program Files (x86)\GnuWin32\bin\wget.exe" http://127.0.0.1/index_list.php

(how do i open there 6 scripts: mark the 6 scripts than shift + right klick --> 
open)

again error 500... here ist the logfile:

#Software: Microsoft Internet Information Services 8.0
#Version: 1.0
#Date: 2013-08-02 16:42:46
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username 
c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status 
time-taken
2013-08-02 16:42:46 127.0.0.1 GET /index_list.php - 80 - 127.0.0.1 Wget/1.11.4 
- 200 0 0 312
2013-08-02 16:42:46 127.0.0.1 GET /index_list.php - 80 - 127.0.0.1 Wget/1.11.4 
- 200 0 0 343
2013-08-02 16:42:46 127.0.0.1 GET /index_list.php - 80 - 127.0.0.1 Wget/1.11.4 
- 200 0 0 343
2013-08-02 16:42:46 127.0.0.1 GET /index_list.php - 80 - 127.0.0.1 Wget/1.11.4 
- 200 0 0 343
2013-08-02 16:42:46 127.0.0.1 GET /index_list.php - 80 - 127.0.0.1 Wget/1.11.4 
- 500 0 64 421
2013-08-02 16:42:46 127.0.0.1 GET /index_list.php - 80 - 127.0.0.1 Wget/1.11.4 
- 200 0 0 390
2013-08-02 16:42:47 127.0.0.1 GET /index_list.php - 80 - 127.0.0.1 Wget/1.11.4 
- 500 0 64 15
2013-08-02 16:42:49 127.0.0.1 GET /index_list.php - 80 - 127.0.0.1 Wget/1.11.4 
- 500 0 995 15

movie.mpg has 6mb

thx for help



----- Original Nachricht ----
Von:     oli.lau...@arcor.de
An:      php-wind...@lists.php.net
Datum:   02.08.2013 18:20
Betreff: [PHP-WIN] Readfile() + mpg = http status 500, windows server 2012, php 
5.5.1

> Hi List,
> i installed a blank Windows Server 2012 Standard, added Role IIS & Feature
> CGI
> extracted 5.5.1 VC11 x86 Non Thread Safe to c:\Program Files (x86)\php
> installed vcredist_x86.exe
> 
> added Handler Mappings in IIS
> Request path: *.php
> Module: FastCgiModule
> Executable: c:\Program Files (x86)\php\php-cgi.exe
> Name: PHP via FastCgi
> 
> Added 2 files to C:\inetpub\wwwroot index.php & movie.mpg (6MB)
> Content of index.php
> 
> <?php
> $track = "movie.mpg";
> if (file_exists($track)) {
>     header("Content-Type: audio/mpeg");
>     header('Content-Length: ' . filesize($track));
>     header('Content-Disposition: inline; filename="movie.mpg"');
>     header('X-Pad: avoid browser bug');
>     header('Cache-Control: no-cache');
>     readfile($track);
>     exit;
> } else {
>     header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
>     echo "no file";
> }
> 
> ?>
> 
> Now every time the index.php is requested i get an error 500 in Webserver
> log. But file will be delivered sucessfully.
> Is there a problem with mpg files and readfile();
> No difference with 5.4.17, 5.3.27 & Windows Server 2008 R2.
> I know its very basic, but expected result should be: HTTP-Status: 200 or?
> phpinfo() will be delivered succesful.
> 
> Thx + regards
> oli
> 
> -- 
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 

--- End Message ---
--- Begin Message ---
 Sorry i forgot to answer your question:
no difference between 

header('Content-Disposition: attachment; filename="movie.mpg"');
and
header('Content-Disposition: inline; filename="movie.mpg"');

thx + regards
oli


----- Original Nachricht ----
Von:     Jacob Kruger <ja...@blindza.co.za>
An:      php-wind...@lists.php.net
Datum:   02.08.2013 20:04
Betreff: Re: [PHP-WIN] Readfile() + mpg = http status 500, windows server 2012, 
php 5.5.1

> And, if you change Content-Disposition to something like?:
> header('Content-Disposition: attachment; filename="movie.mpg"');
> 
> Jacob Kruger
> Blind Biker
> Skype: BlindZA
> '...fate had broken his body, but not his spirit...'
> 
> ----- Original Message ----- 
> From: <oli.lau...@arcor.de>
> To: <php-wind...@lists.php.net>
> Sent: Friday, August 02, 2013 6:20 PM
> Subject: [PHP-WIN] Readfile() + mpg = http status 500, windows server 2012,
> 
> php 5.5.1
> 
> 
> > Hi List,
> > i installed a blank Windows Server 2012 Standard, added Role IIS & Feature
> 
> > CGI
> > extracted 5.5.1 VC11 x86 Non Thread Safe to c:\Program Files (x86)\php
> > installed vcredist_x86.exe
> >
> > added Handler Mappings in IIS
> > Request path: *.php
> > Module: FastCgiModule
> > Executable: c:\Program Files (x86)\php\php-cgi.exe
> > Name: PHP via FastCgi
> >
> > Added 2 files to C:\inetpub\wwwroot index.php & movie.mpg (6MB)
> > Content of index.php
> >
> > <?php
> > $track = "movie.mpg";
> > if (file_exists($track)) {
> >    header("Content-Type: audio/mpeg");
> >    header('Content-Length: ' . filesize($track));
> >    header('Content-Disposition: inline; filename="movie.mpg"');
> >    header('X-Pad: avoid browser bug');
> >    header('Cache-Control: no-cache');
> >    readfile($track);
> >    exit;
> > } else {
> >    header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
> >    echo "no file";
> > }
> >
> > ?>
> >
> > Now every time the index.php is requested i get an error 500 in Webserver
> 
> > log. But file will be delivered sucessfully.
> > Is there a problem with mpg files and readfile();
> > No difference with 5.4.17, 5.3.27 & Windows Server 2008 R2.
> > I know its very basic, but expected result should be: HTTP-Status: 200
> or?
> > phpinfo() will be delivered succesful.
> >
> > Thx + regards
> > oli
> >
> > -- 
> > PHP Windows Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> > 
> 
> 
> -- 
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 

--- End Message ---
--- Begin Message ---
I'm unable to repro on a VM with PHP 5.5.1.

>From systeminfo, the VM is running Server 2012 Datacenter

OS Name:                   Microsoft Windows Server 2012 Datacenter
OS Version:                6.2.9293 N/A Build 9293

I wrote a quick perl script and started 10 instances in parallel.  All 10 
instances succeeded with 200 OK and the .mpg was fetched.  

Does this only repro when the GET is done on localhost?

Thx!
        --E.

[getmovie.pl]

use strict;
use warnings;

use LWP::Simple;

my $suffix = '1';

if (defined $ARGV[0]) {
    $suffix = $ARGV[0];
}
my $filename_out = "c:\\temp\\xx${suffix}.mpg";

my $url = 'http://localhost/movie_test.php';
my $browser = LWP::UserAgent->new;
my $response = $browser->get($url, ':content_file' => $filename_out);
die "Couldn get url ($url)\n", $response->status_line, "\n Aborting"
 unless $response->is_success;
print "Got $url";

[end getmovie.pl]

[test cmd line]

for /L %i in (0,1,10) do start perl.exe getmovie.pl %i

-----Original Message-----
From: oli.lau...@arcor.de [mailto:oli.lau...@arcor.de] 
Sent: Friday, August 02, 2013 11:48 AM
To: ja...@blindza.co.za; php-wind...@lists.php.net
Subject: Aw: Re: [PHP-WIN] Readfile() + mpg = http status 500, windows server 
2012, php 5.5.1

 Sorry i forgot to answer your question:
no difference between 

header('Content-Disposition: attachment; filename="movie.mpg"'); and
header('Content-Disposition: inline; filename="movie.mpg"');

thx + regards
oli


----- Original Nachricht ----
Von:     Jacob Kruger <ja...@blindza.co.za>
An:      php-wind...@lists.php.net
Datum:   02.08.2013 20:04
Betreff: Re: [PHP-WIN] Readfile() + mpg = http status 500, windows server 2012, 
php 5.5.1

> And, if you change Content-Disposition to something like?:
> header('Content-Disposition: attachment; filename="movie.mpg"');
> 
> Jacob Kruger
> Blind Biker
> Skype: BlindZA
> '...fate had broken his body, but not his spirit...'
> 
> ----- Original Message -----
> From: <oli.lau...@arcor.de>
> To: <php-wind...@lists.php.net>
> Sent: Friday, August 02, 2013 6:20 PM
> Subject: [PHP-WIN] Readfile() + mpg = http status 500, windows server 
> 2012,
> 
> php 5.5.1
> 
> 
> > Hi List,
> > i installed a blank Windows Server 2012 Standard, added Role IIS & 
> > Feature
> 
> > CGI
> > extracted 5.5.1 VC11 x86 Non Thread Safe to c:\Program Files 
> > (x86)\php installed vcredist_x86.exe
> >
> > added Handler Mappings in IIS
> > Request path: *.php
> > Module: FastCgiModule
> > Executable: c:\Program Files (x86)\php\php-cgi.exe
> > Name: PHP via FastCgi
> >
> > Added 2 files to C:\inetpub\wwwroot index.php & movie.mpg (6MB) 
> > Content of index.php
> >
> > <?php
> > $track = "movie.mpg";
> > if (file_exists($track)) {
> >    header("Content-Type: audio/mpeg");
> >    header('Content-Length: ' . filesize($track));
> >    header('Content-Disposition: inline; filename="movie.mpg"');
> >    header('X-Pad: avoid browser bug');
> >    header('Cache-Control: no-cache');
> >    readfile($track);
> >    exit;
> > } else {
> >    header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
> >    echo "no file";
> > }
> >
> > ?>
> >
> > Now every time the index.php is requested i get an error 500 in 
> > Webserver
> 
> > log. But file will be delivered sucessfully.
> > Is there a problem with mpg files and readfile(); No difference with 
> > 5.4.17, 5.3.27 & Windows Server 2008 R2.
> > I know its very basic, but expected result should be: HTTP-Status: 
> > 200
> or?
> > phpinfo() will be delivered succesful.
> >
> > Thx + regards
> > oli
> >
> > --
> > PHP Windows Mailing List (http://www.php.net/) To unsubscribe, 
> > visit: http://www.php.net/unsub.php
> >
> > 
> 
> 
> --
> PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: 
> http://www.php.net/unsub.php
> 
> 

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







--- End Message ---
--- Begin Message --- And, what if you try reading the file's contents into a variable, and then echo that to the output buffer:

<?php
$track = "movie.mpg";
header("Content-Type: audio/mpeg");
header('Content-Length: ' . filesize($track));
header('Content-Disposition: inline; filename="movie.mpg"');
//could also, again, try attachment here

$file = fopen($track, "rb"); // end b character implements binary mode
$data = fread($file);
fclose($file);
echo $data;
exit;
?>

Just asking since that might give you more detail about what's causing the error to happen, depending on whether the fopen. fread, etc. then trigger an error, and, haven't bothered double checking actual file name, etc. - just used a form of example name - and, also didn't double check code above - sorry...<smile>

Also, you should make sure there's no HTML markup being echoed/output before this code executes, since think it might interfere with then 'clean' output of file contents.

Stay well

Jacob Kruger
Blind Biker
Skype: BlindZA
'...fate had broken his body, but not his spirit...'

----- Original Message ----- From: <oli.lau...@arcor.de>
To: <ja...@blindza.co.za>; <php-wind...@lists.php.net>
Sent: Friday, August 02, 2013 8:48 PM
Subject: Aw: Re: [PHP-WIN] Readfile() + mpg = http status 500, windows server 2012, php 5.5.1


Sorry i forgot to answer your question:
no difference between

header('Content-Disposition: attachment; filename="movie.mpg"');
and
header('Content-Disposition: inline; filename="movie.mpg"');

thx + regards
oli


----- Original Nachricht ----
Von:     Jacob Kruger <ja...@blindza.co.za>
An:      php-wind...@lists.php.net
Datum:   02.08.2013 20:04
Betreff: Re: [PHP-WIN] Readfile() + mpg = http status 500, windows server 2012, php 5.5.1

And, if you change Content-Disposition to something like?:
header('Content-Disposition: attachment; filename="movie.mpg"');

Jacob Kruger
Blind Biker
Skype: BlindZA
'...fate had broken his body, but not his spirit...'

----- Original Message ----- From: <oli.lau...@arcor.de>
To: <php-wind...@lists.php.net>
Sent: Friday, August 02, 2013 6:20 PM
Subject: [PHP-WIN] Readfile() + mpg = http status 500, windows server 2012,

php 5.5.1


> Hi List,
> i installed a blank Windows Server 2012 Standard, added Role IIS & > Feature

> CGI
> extracted 5.5.1 VC11 x86 Non Thread Safe to c:\Program Files (x86)\php
> installed vcredist_x86.exe
>
> added Handler Mappings in IIS
> Request path: *.php
> Module: FastCgiModule
> Executable: c:\Program Files (x86)\php\php-cgi.exe
> Name: PHP via FastCgi
>
> Added 2 files to C:\inetpub\wwwroot index.php & movie.mpg (6MB)
> Content of index.php
>
> <?php
> $track = "movie.mpg";
> if (file_exists($track)) {
>    header("Content-Type: audio/mpeg");
>    header('Content-Length: ' . filesize($track));
>    header('Content-Disposition: inline; filename="movie.mpg"');
>    header('X-Pad: avoid browser bug');
>    header('Cache-Control: no-cache');
>    readfile($track);
>    exit;
> } else {
>    header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
>    echo "no file";
> }
>
> ?>
>
> Now every time the index.php is requested i get an error 500 in > Webserver

> log. But file will be delivered sucessfully.
> Is there a problem with mpg files and readfile();
> No difference with 5.4.17, 5.3.27 & Windows Server 2008 R2.
> I know its very basic, but expected result should be: HTTP-Status: 200
or?
> phpinfo() will be delivered succesful.
>
> Thx + regards
> oli
>
> -- > PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


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





--- End Message ---
--- Begin Message ---
Hi Eric,
thx for reply. You are right. With your perl script i also can not reproduce 
Status 500.
All downloaded request in log have status 200.

But if i do

[cmd.exe]
for /L %i in (0,1,10) do start wget.cmd %i

[wget.cmd start]
"C:\Program Files (x86)\GnuWin32\bin\wget.exe" http://127.0.0.1/index.php

i get again status 500 again.
sometime all request also have 200 but three times later i will get again 
status 500 in half of requests.

thx + regards
oli



----- Original Nachricht ----
Von:     Eric Stenson <erics...@microsoft.com>
An:      "oli.lau...@arcor.de" <oli.lau...@arcor.de>, "ja...@blindza.co.za" 
<ja...@blindza.co.za>, "php-wind...@lists.php.net" <php-wind...@lists.php.net>
Datum:   02.08.2013 22:51
Betreff: RE: Re: [PHP-WIN] Readfile() + mpg = http status 500, windows
 server 2012, php 5.5.1

> I'm unable to repro on a VM with PHP 5.5.1.
> 
> From systeminfo, the VM is running Server 2012 Datacenter
> 
> OS Name:                   Microsoft Windows Server 2012 Datacenter
> OS Version:                6.2.9293 N/A Build 9293
> 
> I wrote a quick perl script and started 10 instances in parallel.  All 10
> instances succeeded with 200 OK and the .mpg was fetched.  
> 
> Does this only repro when the GET is done on localhost?
> 
> Thx!
>       --E.
> 
> [getmovie.pl]
> 
> use strict;
> use warnings;
> 
> use LWP::Simple;
> 
> my $suffix = '1';
> 
> if (defined $ARGV[0]) {
>     $suffix = $ARGV[0];
> }
> my $filename_out = "c:\\temp\\xx${suffix}.mpg";
> 
> my $url = 'http://localhost/movie_test.php';
> my $browser = LWP::UserAgent->new;
> my $response = $browser->get($url, ':content_file' => $filename_out);
> die "Couldn get url ($url)\n", $response->status_line, "\n Aborting"
>  unless $response->is_success;
> print "Got $url";
> 
> [end getmovie.pl]
> 
> [test cmd line]
> 
> for /L %i in (0,1,10) do start perl.exe getmovie.pl %i
> 
> -----Original Message-----
> From: oli.lau...@arcor.de [mailto:oli.lau...@arcor.de] 
> Sent: Friday, August 02, 2013 11:48 AM
> To: ja...@blindza.co.za; php-wind...@lists.php.net
> Subject: Aw: Re: [PHP-WIN] Readfile() + mpg = http status 500, windows
> server 2012, php 5.5.1
> 
>  Sorry i forgot to answer your question:
> no difference between 
> 
> header('Content-Disposition: attachment; filename="movie.mpg"'); and
> header('Content-Disposition: inline; filename="movie.mpg"');
> 
> thx + regards
> oli
> 
> 
> ----- Original Nachricht ----
> Von:     Jacob Kruger <ja...@blindza.co.za>
> An:      php-wind...@lists.php.net
> Datum:   02.08.2013 20:04
> Betreff: Re: [PHP-WIN] Readfile() + mpg = http status 500, windows server
> 2012, php 5.5.1
> 
> > And, if you change Content-Disposition to something like?:
> > header('Content-Disposition: attachment; filename="movie.mpg"');
> > 
> > Jacob Kruger
> > Blind Biker
> > Skype: BlindZA
> > '...fate had broken his body, but not his spirit...'
> > 
> > ----- Original Message -----
> > From: <oli.lau...@arcor.de>
> > To: <php-wind...@lists.php.net>
> > Sent: Friday, August 02, 2013 6:20 PM
> > Subject: [PHP-WIN] Readfile() + mpg = http status 500, windows server 
> > 2012,
> > 
> > php 5.5.1
> > 
> > 
> > > Hi List,
> > > i installed a blank Windows Server 2012 Standard, added Role IIS & 
> > > Feature
> > 
> > > CGI
> > > extracted 5.5.1 VC11 x86 Non Thread Safe to c:\Program Files 
> > > (x86)\php installed vcredist_x86.exe
> > >
> > > added Handler Mappings in IIS
> > > Request path: *.php
> > > Module: FastCgiModule
> > > Executable: c:\Program Files (x86)\php\php-cgi.exe
> > > Name: PHP via FastCgi
> > >
> > > Added 2 files to C:\inetpub\wwwroot index.php & movie.mpg (6MB) 
> > > Content of index.php
> > >
> > > <?php
> > > $track = "movie.mpg";
> > > if (file_exists($track)) {
> > >    header("Content-Type: audio/mpeg");
> > >    header('Content-Length: ' . filesize($track));
> > >    header('Content-Disposition: inline; filename="movie.mpg"');
> > >    header('X-Pad: avoid browser bug');
> > >    header('Cache-Control: no-cache');
> > >    readfile($track);
> > >    exit;
> > > } else {
> > >    header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
> > >    echo "no file";
> > > }
> > >
> > > ?>
> > >
> > > Now every time the index.php is requested i get an error 500 in 
> > > Webserver
> > 
> > > log. But file will be delivered sucessfully.
> > > Is there a problem with mpg files and readfile(); No difference with 
> > > 5.4.17, 5.3.27 & Windows Server 2008 R2.
> > > I know its very basic, but expected result should be: HTTP-Status: 
> > > 200
> > or?
> > > phpinfo() will be delivered succesful.
> > >
> > > Thx + regards
> > > oli
> > >
> > > --
> > > PHP Windows Mailing List (http://www.php.net/) To unsubscribe, 
> > > visit: http://www.php.net/unsub.php
> > >
> > > 
> > 
> > 
> > --
> > PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: 
> > http://www.php.net/unsub.php
> > 
> > 
> 
> --
> PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit:
> http://www.php.net/unsub.php
> 
> 
> 
> 
> 
> 
> 

--- End Message ---

Reply via email to