From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-18 15:57:32
|
Hi! [2009-07-18] I'm trying to configure YAWS with PHP on Windows XP SP2. Unfortunately, something is going wrong because after configuration I receive blank page. I've configured YAWS as in the sample (http://yaws.hyber.org/cgi.yaws), with correct php_exe_path (when I changed file to non-existend path, YAWS report error, so that's ok), allowed scripts seems to be ok: allowed_scripts = yaws php cgi Of course, I use php-cgi executable. But I have no idea what's wrong - when I point browser to 127.0.0.1 - YAWS returns a blank page. I've runned with --debug parameter, there's nothing interesting what's associated with neither PHP nor CGI. For test, I tried something like that #!C:\server\php5\php-cgi.exe phpinfo() and saved as .cgi file. YAWS reports a crash: ###### =CRASH REPORT==== 18-Jul-2009::17:05:02 === crasher: initial call: yaws_cgi:cgi_worker/7 pid: <0.61.0> registered_name: [] exception error: enoent in function open_port/2 called as open_port({spawn,"./test.cgi"}, [{env,[{"SERVER_SOFTWARE","Yaws/1.84"}, {"SERVER_NAME","127.0.0.1"}, {"HTTP_HOST","127.0.0.1"}, {"GATEWAY_INTERFACE","CGI/1.1"}, {"SERVER_PROTOCOL","HTTP/1.1"}, {"SERVER_PORT","81"}, {"REQUEST_METHOD","GET"}, {"REQUEST_URI","/test.cgi"}, {"DOCUMENT_ROOT","d:/tmp/yaws"}, {"DOCUMENT_ROOT_MOUNT","/"}, {"SCRIPT_FILENAME","d:/tmp/yaws/test.cgi"}, {"PATH_INFO",[]}, {"PATH_TRANSLATED",[]}, {"SCRIPT_NAME","/test.cgi"}, {"REMOTE_ADDR","127.0.0.1"}, {"REMOTE_HOST","127.0.0.1"}, {"SERVER_ADDR","127.0.0.1"}, {"LOCAL_ADDR","127.0.0.1"}, {"QUERY_STRING",[]}, {"HTTP_ACCEPT", "text/html, application/xml;q=0.9, application/xhtml+xml, image /png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"}, {"HTTP_USER_AGENT", "Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1"}, {"HTTP_TE", "deflate, gzip, chunked, identity, trailers"}, {"HTTP_ACCEPT_ENCODING", "deflate, gzip, x-gzip, identity, *;q=0"}, {"HTTP_ACCEPT_CHARSET", "iso-8859-1, utf-8, utf-16, *;q=0.1"}, {"HTTP_ACCEPT_LANGUAGE", "pl-PL,pl;q=0.9,en;q=0.8"}]}, {cd,"d:/tmp/yaws"}, exit_status,binary]) in call from yaws_cgi:cgi_worker/7 ancestors: [<0.54.0>,<0.53.0>,yaws_server,yaws_sup,<0.41.0>] messages: [{<0.54.0>,end_of_clidata}] links: [] dictionary: [] trap_exit: false status: running heap_size: 2584 stack_size: 24 reductions: 592 neighbours: ###### Erlang process is white-listed in my firewall. I don't know whether that matters but every YAWS start it returns an error "system cannot find specified path" but nothing happens (server works correctly except PHP what I mentioned above). I've tried to examine this error but it happens even with default conf supplied with installer. MIME types changing doesn't work too. I have no idea what should I do now. Any suggestions? YAWS version - 1.84 Logs are clean - nothing unusual. Regards, Przemysław "eRIZ" Pawliczuk -- WWW: http://eriz.pcinside.pl |
From: Steve V. <vi...@ie...> - 2009-07-18 16:24:47
|
2009/7/18 "Przemysław \"eRIZ\" Pawliczuk" <er...@pc...>: > Hi! [2009-07-18] > > I'm trying to configure YAWS with PHP on Windows XP SP2. Unfortunately, > something is going wrong because after configuration I receive blank page. > > I've configured YAWS as in the sample (http://yaws.hyber.org/cgi.yaws), > with correct php_exe_path (when I changed file to non-existend path, > YAWS report error, so that's ok), allowed scripts seems to be ok: > > allowed_scripts = yaws php cgi > > Of course, I use php-cgi executable. > > But I have no idea what's wrong - when I point browser to 127.0.0.1 - > YAWS returns a blank page. > > I've runned with --debug parameter, there's nothing interesting what's > associated with neither PHP nor CGI. > > For test, I tried something like that > > #!C:\server\php5\php-cgi.exe > phpinfo() > > and saved as .cgi file. YAWS reports a crash: > > ###### > =CRASH REPORT==== 18-Jul-2009::17:05:02 === > crasher: > initial call: yaws_cgi:cgi_worker/7 > pid: <0.61.0> > registered_name: [] > exception error: enoent > in function open_port/2 > called as open_port({spawn,"./test.cgi"}, This means the script that open_port is trying to spawn doesn't exist. > I don't know whether that matters but every YAWS start it returns an > error "system cannot find specified path" but nothing happens (server > works correctly except PHP what I mentioned above). > > I've tried to examine this error but it happens even with default conf > supplied with installer. MIME types changing doesn't work too. I have no > idea what should I do now. Any suggestions? Try running yaws in interactive mode, with the -i option, and also throw in the --debug option. Perhaps the extra verbosity will help you identify the problem. --steve |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-18 16:32:24
|
Hi! [2009-07-18] Steve Vinoski wrote: > This means the script that open_port is trying to spawn doesn't exist. Basing on: ({spawn,"./test.cgi"} I've change directory to DocumentRoot in the shell and then started YAWS. No difference... :( > Try running yaws in interactive mode, with the -i option, and also > throw in the --debug option. Perhaps the extra verbosity will help you > identify the problem. Still the same. Do you need any additional info? Here's my conf file: http://pastie.org/550492 I've checked all paths in configuration - all of them exists and they are readable for YAWS/erl. Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Steve V. <vi...@ie...> - 2009-07-18 20:52:42
|
2009/7/18 "Przemysław \"eRIZ\" Pawliczuk" <er...@pc...>: > Hi! [2009-07-18] > > Steve Vinoski wrote: >> This means the script that open_port is trying to spawn doesn't exist. > Basing on: > > ({spawn,"./test.cgi"} > > I've change directory to DocumentRoot in the shell and then started > YAWS. No difference... :( I don't pretend to be an expert on PHP, and happily I don't have to use Windows at all. But in my yaws.conf on my MacBook Pro I have the cgi-bin appmod configured, just as you do, so I stuck a trivial foo.cgi PHP script into my <DocRoot>/cgi-bin/ directory and invoked it via curl as http://localhost:8000/cgi-bin/foo.cgi and it executed correctly. This is with the latest github bits, which aren't much different from 1.84. The spawn error you're seeing is the key -- it can't run your script. --steve |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-18 20:55:38
|
Hi! [2009-07-18] Steve Vinoski wrote: > The spawn error you're seeing is the key -- it can't run your script. I'm thinking of this error but I can't examine what's going wrong - I've chdirred onto that catalog... Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: andrew m. <and...@gm...> - 2009-07-18 21:53:53
|
Hi, Your test.cgi file will only work on a unix/linux like system that supports shell scripts, for windows you need to use .cmd and the windows shell commands. Andrew 2009/7/18 "Przemysław \"eRIZ\" Pawliczuk" <er...@pc...> > Hi! [2009-07-18] > > Steve Vinoski wrote: > > The spawn error you're seeing is the key -- it can't run your script. > > I'm thinking of this error but I can't examine what's going wrong - I've > chdirred onto that catalog... > > Regards, > Przemysław "eRIZ" Pawliczuk > -- > JID: eriz//pcinside.pl > WWW: http://eriz.pcinside.pl > > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to $100,000 in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Erlyaws-list mailing list > Erl...@li... > https://lists.sourceforge.net/lists/listinfo/erlyaws-list > |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-19 14:59:47
|
Hi! [2009-07-19] andrew mmc pisze: > Hi, > > Your test.cgi file will only work on a unix/linux like system that > supports shell scripts, for windows you need to use .cmd and the windows > shell commands. But why? Other http daemons which work under Windows haven't such restrictions... Regardless CGI interface, what about PHP? It's a bit weird creating cmd files just for script executing... Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Claes W. <kl...@ta...> - 2009-07-20 09:59:03
|
andrew mmc wrote: > Hi, > > Your test.cgi file will only work on a unix/linux like system that > supports shell scripts, for windows you need to use .cmd and the windows > shell commands. Why is that - don't understand. No - I think that the problem is related to the path handling in yaws_cgi.erl - there is a lot of code there that seems to be UNIX /-path specific. this is probably a bug (or bugs actually) in yaws_cgi.erl not be able to cope with win32 paths - needs to be debugged. To my knowledge, noone has used the yaws/win32/cgi compo before. Should be completely straight forward to get to work. Przemysław, I wount be able to take a deep look at this now. If you really want this to work now, I'd suggest you start by adding some printouts here and there in yaws_cgi.erl (Also, install unix make on your win32 system to make life easier while experimenting) /klacke |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-20 22:49:37
|
Hi! [2009-07-21] Claes Wikstrom pisze: > You're sure you aren't just mis speling - I found > > "C:/bin/serwer/php5/php-cgi.exe" Yes, this path exists. And it's correct - YAWS throws an error with incorrect path. ("serwer" it's a Polish pronounceation of server, sorry for that - I've to change it but later ;)) Still, problem is unresolved... Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Claes W. <kl...@ta...> - 2009-07-20 23:03:57
|
> Yes, this path exists. And it's correct - YAWS throws an error with > incorrect path. > > ("serwer" it's a Polish pronounceation of server, sorry for that - I've > to change it but later ;)) > Nice :-) > Still, problem is unresolved... I'll take a look at it - but not now. As I said before, this just needs to be debugged. I.e yaws_cgi.erl needs to be debug modified so that we 1. see what get's open_ported() ed 2. figure out why that doesn't work. /klacke |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-20 10:42:48
|
Hi! [2009-07-20] Claes Wikstrom wrote: > this is probably a bug (or bugs actually) in yaws_cgi.erl > not be able to cope with win32 paths - needs to be debugged. > To my knowledge, noone has used the yaws/win32/cgi compo before. > Should be completely straight forward to get to work. Whatever, it's definitely abnormal situation... > Przemysław, I wount be able to take a deep look at this now. > If you really want this to work now, I'd suggest you start > by adding some printouts here and there in yaws_cgi.erl Ok, ask for everything you need. It's not urgent but a bit annoying because YAWS looks very interesting. > (Also, install unix make on your win32 system to make life > easier while experimenting) I have whole Unix-developer packages ports on my system installed some time ago, so that's not problem. [; Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-20 21:55:42
|
Hi! [2009-07-20] Kunthar pisze: > Sorry for this but; > Yaws for concurrent world and solves concurrent world's problems. > Why one wants to use php like 'locked' tool inside of it? > I really confused in this point. I didn't understand your meaning. Do you mean why I'm trying to use YAWS with PHP within Windows? Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-20 13:57:24
|
Hi! [2009-07-20] Steve Vinoski pisze: > Dzien dobry, Przemysław (well, it's morning for me anyway :-) ). Now is afternoon but we say "dzień dobry" all day long except evening (then "dobry wieczór" what means "good evening"). ;) > If you send along that trace output I requested in my previous > message, it will provide quite a bit of the debgging that Klacke says > is needed. Sorry, I've overlooked that. [; I've done what you asked for, here's the result: http://pastie.org/552055 I tried to analyze that log but I'm poor in erlang (however I know the syntax basically because of the fact that I was experimenting with ejabberd a bit and fighting with matching node cookies >:>) but they didn't say anything useful. Everything I could have done was checking the paths evaluated in tracing. I can't understand what does mean process traced within lines 253-282. Suspect that they should be blamed (prefix exists only in Unix-like environment). Whatever, recursion bug? Except that lines, paths are correct and readable/writable. I've moved data onto FAT partition in case of permission problems, now they're excluded in any case. Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-20 15:48:59
|
Hi! [2009-07-20] Steve Vinoski pisze: > OK, can you try one other thing for me: rename or copy test.cgi to > test.php and see if that makes any difference. I've created that file before, it contains simple content: <?PHP phpinfo(); ?> Tracing? Again, something weird: http://pastie.org/552189 But it doesn't terminate anything and browser/worker not hangs. Tried to set document-root to "." (self dir) and copied test.php into daemon directory. Nothing changed - YAWS resolved it into fullpath and was trying to cut it like earlier... > You'll have to access > it from your client as http://server/test.php of course. Chill, I'm working with PHP over 5 years. :P Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Steve V. <vi...@ie...> - 2009-07-20 20:33:42
|
2009/7/20 "Przemysław \"eRIZ\" Pawliczuk" <er...@pc...>: > Hi! [2009-07-20] > > Steve Vinoski pisze: >> OK, can you try one other thing for me: rename or copy test.cgi to >> test.php and see if that makes any difference. > > I've created that file before, it contains simple content: > > <?PHP > phpinfo(); > ?> > > Tracing? Again, something weird: > http://pastie.org/552189 > > But it doesn't terminate anything and browser/worker not hangs. Tried to > set document-root to "." (self dir) and copied test.php into daemon > directory. > > Nothing changed - YAWS resolved it into fullpath and was trying to cut > it like earlier... This time it's different, though. From the tracing we can see that the php_exe_path from yaws.conf is being used and is being invoked, but that the output from the invocation is empty. The previous error was that the test.cgi couldn't even be executed. So it's closer, but still not quite right. The reason for changing from the cgi to php suffix was that you can see in the code that the php_exe_path isn't used for the cgi case. This is what Andrew was hinting at for the cgi case, I think -- that it works in UNIX/Linux because the #! shebang line tells the OS what to execute in order to interpret the script, such that php gets invoked properly, but that doesn't work in Windows, so wrappers or suffix-specific settings are needed to make the right thing execute in that case. Still, there are probably some changes we can make to yaws to help ease this situation. I just don't know what they are yet. >> You'll have to access >> it from your client as http://server/test.php of course. > > Chill, I'm working with PHP over 5 years. :P Understood, just trying to be thorough and not make any assumptions about what you know or don't know. --steve |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-20 21:00:15
|
Hi! [2009-07-20] Steve Vinoski pisze: > The reason for changing from the cgi to php suffix was that you can > see in the code that the php_exe_path isn't used for the cgi case. > This is what Andrew was hinting at for the cgi case, I think -- that > it works in UNIX/Linux because the #! shebang line tells the OS what > to execute in order to interpret the script, such that php gets > invoked properly, but that doesn't work in Windows, so wrappers or > suffix-specific settings are needed to make the right thing execute in > that case. Okay, so what's the way how does eg. Apache work? There must be such a way to achieve the same result. I know, that shebang is base for CGI but I think, on Windows platform shebang should be readed directly by daemon and not be entrusted to OS. I hope you know what I'm thinking of. [; > Still, there are probably some changes we can make to yaws to help > ease this situation. I just don't know what they are yet. May I suggest what mentioned above? Parse shebang by YAWS, spawn CGI process and deliver data through stdin capturing stdout? Problably, there are no easier way to have it done. Whatever, our case is in stuck - I don't know how to use PHP with YAWS... :( > Understood, just trying to be thorough and not make any assumptions > about what you know or don't know. Ok. [; Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Andrew S. <sto...@ya...> - 2009-07-20 21:28:02
|
Maybe a dumb question, but Is the script executable? -Andrew ----- Original Message ---- From: "Przemysław \"eRIZ\" Pawliczuk" <er...@pc...> To: Steve Vinoski <vi...@ie...> Cc: erl...@li... Sent: Monday, July 20, 2009 5:00:03 PM Subject: Re: [Erlyaws-list] YAWS with PHP on Windows XP problem Hi! [2009-07-20] Steve Vinoski pisze: > The reason for changing from the cgi to php suffix was that you can > see in the code that the php_exe_path isn't used for the cgi case. > This is what Andrew was hinting at for the cgi case, I think -- that > it works in UNIX/Linux because the #! shebang line tells the OS what > to execute in order to interpret the script, such that php gets > invoked properly, but that doesn't work in Windows, so wrappers or > suffix-specific settings are needed to make the right thing execute in > that case. Okay, so what's the way how does eg. Apache work? There must be such a way to achieve the same result. I know, that shebang is base for CGI but I think, on Windows platform shebang should be readed directly by daemon and not be entrusted to OS. I hope you know what I'm thinking of. [; > Still, there are probably some changes we can make to yaws to help > ease this situation. I just don't know what they are yet. May I suggest what mentioned above? Parse shebang by YAWS, spawn CGI process and deliver data through stdin capturing stdout? Problably, there are no easier way to have it done. Whatever, our case is in stuck - I don't know how to use PHP with YAWS... :( > Understood, just trying to be thorough and not make any assumptions > about what you know or don't know. Ok. [; Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Erlyaws-list mailing list Erl...@li... https://lists.sourceforge.net/lists/listinfo/erlyaws-list |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-20 21:30:18
|
Hi! [2009-07-20] Andrew Stone pisze: > Maybe a dumb question, but Is the script executable? Executable? Do you mean permissions? If permissions, answer is yes what I wrote earlier. Script is readable/writable/executable (it's saved on partition without permissions management). Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Claes W. <kl...@ta...> - 2009-07-20 22:47:07
|
Przemysław "eRIZ" Pawliczuk wrote: > Hi! [2009-07-20] > > Steve Vinoski pisze: >> OK, can you try one other thing for me: rename or copy test.cgi to >> test.php and see if that makes any difference. > > I've created that file before, it contains simple content: > > <?PHP > phpinfo(); > ?> > > Tracing? Again, something weird: > http://pastie.org/552189 > You're sure you aren't just mis speling - I found "C:/bin/serwer/php5/php-cgi.exe" in the trace ???? /klacke |
From: andrew m. <and...@gm...> - 2009-07-21 01:15:00
|
Forgive me if I'm stating the obvious now, but I think the first problem was because the file extension was cgi, it tried to execute the file, which it couldn't do because it is on windows. When you changed the extension to php, yaws knew to pass through the file as a parameter to the php executable - the correct behaviour. I think the problem is now with php. PHP has some default behaviour set for security reasons. e.g. on *nix you have to explicitly compile it with the option to run as cgi. It also by default will not allow itself to execute anything outside of its docroot, so perhaps the test file isn't in or below the docroot set in php.ini? Otherwise, perhaps some of the other cgi specific options there could have an effect? 2009/7/21 Claes Wikstrom <kl...@ta...> > > > Yes, this path exists. And it's correct - YAWS throws an error with > > incorrect path. > > > > ("serwer" it's a Polish pronounceation of server, sorry for that - I've > > to change it but later ;)) > > > > Nice :-) > > > Still, problem is unresolved... > > I'll take a look at it - but not now. As I said before, this just > needs to be debugged. I.e yaws_cgi.erl needs to be debug modified > so that we > > 1. see what get's open_ported() ed > 2. figure out why that doesn't work. > > > > /klacke > > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to $100,000 in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Erlyaws-list mailing list > Erl...@li... > https://lists.sourceforge.net/lists/listinfo/erlyaws-list > |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-21 09:07:59
|
Hi! [2009-07-21] andrew mmc pisze: > Forgive me if I'm stating the obvious now, but I think the first problem > was because the file extension was cgi, it tried to execute the file, > which it couldn't do because it is on windows. When you changed the > extension to php, yaws knew to pass through the file as a parameter to > the php executable - the correct behaviour. Whatever, PHP pages aren't being processed. Isn't this solution a bit unportable...? For example - other interpreters may be executed in such a way too. > I think the problem is now with php. PHP has some default behaviour set > for security reasons. e.g. on *nix you have to explicitly compile it > with the option to run as cgi. It also by default will not allow itself > to execute anything outside of its docroot, so perhaps the test file > isn't in or below the docroot set in php.ini? PHP is configured correctly, I've made sure. On Windows, there's some options preconfigured (vide: documentation) and there's no necessity to recompile interpreters with other options. The same binaries work correctly in other Windows daemons, such Apache, LightTPD or Abyss Web Server (even spawned as FastCGI). I'm not sure but I suspect YAWS not to run php-cgi process... Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-07-21 09:37:04
|
Hi! [2009-07-21] andrew mmc pisze: > What is the docroot set to in your php.ini file? I'm using _cgi.force_redirect_ instead. Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Colm D. <col...@gm...> - 2009-08-07 13:45:25
|
Carl, I duplicated your config on Windows XP and was able to get it working on yaws-1.84. However I firstly had to work-around a problem with my php-cgi binary which was giving me empty HTTP response which may or may not be what you are running into. When I created a shell script and manually defined the same environment variables that yaws was passing to the php binary I got the following error : ### <b>Security Alert!</b> The PHP CGI cannot be accessed directly. <p>This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.</p> <p>For more information as to <i>why</i> this behaviour exists, see the <a href="http://php.net/security.cgi-bin">manual page for CGI security</a>.</p> <p>For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit <a href="http://php.net/install.windows">the manual page</a>.</p> ### Speculatively I patched yaws to define the REDIRECT_STATUS environment variable (with a value of "1") and when I recompiled yaws and re-requested my test.php it worked fine. I then realized that this behavior must be configurable in php.ini but I wasn't sure where php was looking for the php.ini. When I printed out phpinfo() in my php script I could see it was looking for php.ini in C:\WINDOWS. When I copied the sample php.ini to that location and altered it to have the following setting : cgi.force_redirect = 0 ... then my php script worked fine with an unpatched yaws. I'm not sure if this is the same issue you were running into but I just wanted to confirm that it is possible to get php working on Windows in yaws-1.84. Colm On Tue, Aug 4, 2009 at 2:28 PM, Carl McDade<car...@gm...> wrote: > Is this being worked on? Or is it marked for testing/improvement in a > later version? > > On Wed, Jul 29, 2009 at 6:49 AM, Carl McDade<car...@gm...> wrote: >> Just to make sure I rolled back from 1.84 to 1.82 and received the same result. >> >> On Wed, Jul 29, 2009 at 6:19 AM, Carl McDade<car...@gm...> wrote: >>> Hi, >>> >>> Confirming: I just tried this on Vista,PHP-CGI.exe and got the same >>> result, which is a blank page and no error outside of the path error >>> in the interactive window. >>> >>> /Carl >>> >>> >>> >>> On Tue, Jul 21, 2009 at 3:14 AM, andrew mmc<and...@gm...> wrote: >>>> Forgive me if I'm stating the obvious now, but I think the first problem was >>>> because the file extension was cgi, it tried to execute the file, which it >>>> couldn't do because it is on windows. When you changed the extension to >>>> php, yaws knew to pass through the file as a parameter to the php executable >>>> - the correct behaviour. >>>> >>>> I think the problem is now with php. PHP has some default behaviour set for >>>> security reasons. e.g. on *nix you have to explicitly compile it with the >>>> option to run as cgi. It also by default will not allow itself to execute >>>> anything outside of its docroot, so perhaps the test file isn't in or below >>>> the docroot set in php.ini? >>>> >>>> Otherwise, perhaps some of the other cgi specific options there could have >>>> an effect? >>>> >>>> >>>> 2009/7/21 Claes Wikstrom <kl...@ta...> >>>>> >>>>> > Yes, this path exists. And it's correct - YAWS throws an error with >>>>> > incorrect path. >>>>> > >>>>> > ("serwer" it's a Polish pronounceation of server, sorry for that - I've >>>>> > to change it but later ;)) >>>>> > >>>>> >>>>> Nice :-) >>>>> >>>>> > Still, problem is unresolved... >>>>> >>>>> I'll take a look at it - but not now. As I said before, this just >>>>> needs to be debugged. I.e yaws_cgi.erl needs to be debug modified >>>>> so that we >>>>> >>>>> 1. see what get's open_ported() ed >>>>> 2. figure out why that doesn't work. >>>>> >>>>> >>>>> >>>>> /klacke >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Enter the BlackBerry Developer Challenge >>>>> This is your chance to win up to $100,000 in prizes! For a limited time, >>>>> vendors submitting new applications to BlackBerry App World(TM) will have >>>>> the opportunity to enter the BlackBerry Developer Challenge. See full >>>>> prize >>>>> details at: http://p.sf.net/sfu/Challenge >>>>> _______________________________________________ >>>>> Erlyaws-list mailing list >>>>> Erl...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/erlyaws-list >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Enter the BlackBerry Developer Challenge >>>> This is your chance to win up to $100,000 in prizes! For a limited time, >>>> vendors submitting new applications to BlackBerry App World(TM) will have >>>> the opportunity to enter the BlackBerry Developer Challenge. See full prize >>>> details at: http://p.sf.net/sfu/Challenge >>>> _______________________________________________ >>>> Erlyaws-list mailing list >>>> Erl...@li... >>>> https://lists.sourceforge.net/lists/listinfo/erlyaws-list >>>> >>>> >>> >>> >>> >>> -- >>> Carl McDade >>> Lead Developer >>> ____________________ >>> >>> FireOrb CMS >>> www.fireorb.info >>> >> >> >> >> -- >> Carl McDade >> Lead Developer >> ____________________ >> >> FireOrb CMS >> www.fireorb.info >> > > > > -- > Carl McDade > Lead Developer > FireOrb CMS - www.fireorb.info > __________________________ > > Publisher and Editor > Hiveminds Magazine -www.hiveminds.co.uk > > ________________________________________________________________ > erlang-questions mailing list. See http://www.erlang.org/faq.html > erlang-questions (at) erlang.org > > |
From: Przemysław \eRIZ\ P. <er...@pc...> - 2009-08-07 15:01:44
|
Hi! [2009-08-07] Colm Dougan wrote: > I duplicated your config on Windows XP and was able to get it working > on yaws-1.84. However I firstly had to work-around a problem with my > php-cgi binary which was giving me empty HTTP response which may or > may not be what you are running into. Hmm, yes - that's the point - empty page. > > When I created a shell script and manually defined the same > environment variables that yaws was passing to the php binary I got > the following error : Okay - can you post your example configuration? I assume CGI headers defined by SET directive in shellscript. But the question is: did you configured shell script as php-cgi wrapper in YAWS conf? > I'm not sure if this is the same issue you were running into but I > just wanted to confirm that it is possible to get php working on > Windows in yaws-1.84. Nice news. ;] Regards, Przemysław "eRIZ" Pawliczuk -- JID: eriz//pcinside.pl WWW: http://eriz.pcinside.pl |
From: Colm D. <col...@gm...> - 2009-08-07 14:37:13
|
2009/8/7 "Przemysław \"eRIZ\" Pawliczuk" <er...@pc...>: > Hi! [2009-08-07] > > Colm Dougan wrote: >> I duplicated your config on Windows XP and was able to get it working >> on yaws-1.84. However I firstly had to work-around a problem with my >> php-cgi binary which was giving me empty HTTP response which may or >> may not be what you are running into. > > Hmm, yes - that's the point - empty page. > >> >> When I created a shell script and manually defined the same >> environment variables that yaws was passing to the php binary I got >> the following error : > > Okay - can you post your example configuration? For my yaws config I used the file you posted here verbatim : http://pastie.org/550492.txt I only changed the "webroot" path from D:\ to C:\ > I assume CGI headers defined by SET directive in shellscript. > > But the question is: did you configured shell script as php-cgi wrapper > in YAWS conf? No, the shell script I discussed in my previous email was only for debugging on the command-line. This was unrelated to running within yaws. The php script I rendered from yaws was just a vanilla php file (with a php file extension) which has the following contents : <?php phpinfo(); ?> You don't need any kind of wrapper script. The php binary will look at environment variables to know where the php file is. Colm |