Re: Remote Procedure Call Failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 07 February 2005 12:06 pm, Alex Gemmell wrote:
> On Sun, 6 Feb 2005 19:36:23 -0500, Andre Dubuc <aajdubuc@xxxxxxxxxxx> wrote:
> > On Sunday 06 February 2005 07:18 pm, Alex Gemmell wrote:
> > > Hello,
> > >
> > > I am building a login system for my website but I keep experiencing an
> > > error on a specific PHP page that I have never encountered before and
> > > it seems worryingly low-level!  It says:
> > >
> > > "The remote procedure call failed."
> > >
> > > And that's it!  Nothing else is on the page.  Sometimes I get a
> > > slightly different (but equally scary) error:
> > >
> > > "PHP has encountered a Stack overflow"
> > >
> > > I've googled these errors and some people have posted them but I found
> > > no solution.  I've searched the PHP bug database but found nothing. 
> > > Has anyone else encountered this and is there a solution?
> > >
> > > FYI:
> > > Other (more simple) PHP scripts work fine (so my PHP installation seems
> > > to be ok) and this error only started happening last week.
> > >
> > > I haven't changed this PHP/MySQL installation in months.
> > >
> > > I'm testing my script on a (Windows) server in my office on which this
> > > error occurs.  When I upload it to a second remote (Linux) test server
> > > it works fine!
> > >
> > > Office Server: Windows 2000 Server + IIS 5.1, PHP Version 4.3.9 (Zend
> > > Engine v1.3.0), MySQL 3.23.49. *CGI Version - I am considering changing
> > > to ISAPI.  Would this help do you think?
> > >
> > > Remote Server: Linux + Apache, PHP Version 4.1.2 (Zend Engine v1.1.1),
> > > MySQL 3.23.39.
> > >
> > > Any ideas gratefully received!  Thanks,
> > >
> > > Alex
> >
> > First off: register_globals=on on Windows server, register_globals=off in
> > Linux, by any chance? I ran into a similar problem (w/o the 'low-level'
> > messages). Are you calling https for login procedures? Had a problem with
> > that too.
> >
> > Hth,
> > Andre
>
> Thank you Andre!  That was spot on - my Windows PHP installation has
> "register_globals"off.  When I turned it on the error messages
> disappeared.  Success!
>
> FYI:  I found this in the PHP manual:
> "If your script uses session_register(), it will not work in
> environments where the PHP directive register_globals is disabled."
>
> I was using session_register() in one place so perhaps this was the
> problem?
>
> PHP manual also says this:
> "Caution
> If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use
> session_register(), session_is_registered(), and
> session_unregister()."
>
> Well, I have a few lines like these two:
>
> session_register('email_address');
> $_SESSION['email_address'] = $email_address;
>
> If I simply delete the first line
> ("session_register('email_address');") everything will still work...
> right?
>
> --
> Alex Gemmell
>
> |:| agemmell@xxxxxxxxx |:|



Hi Alex,

I'm glad it worked. Took me long enough to figure it out (and I wasn't 
connected to an IE server on the web, but with Linux as well.)

What I suggest: dump any reference to session_register('email_address'); and 
use $_SESSION['email_address']; instead.

My method is to convert all $_POST values from the sending script to $_SESSION
AFTER validating user input:

sending page:

<?php session_start(); ?>
<?php

print "<form action='receive.php' method='post'>";

print "<input type='text' name='email_address' value='Email Address Please'>";

/* etc, etc . . . */
?>



receiving page:

<?php session_start(); ?>
<?php

print "<form action='receive.php' method='post'>";

/* Validate user input using standard methods */

$_SESSION['email_address'] = $_POST['email_address'];

/* Then, for ease of wrting it out: */
$email = $_SESSION['email_address'];

/* Lotsa stuff left out here */
?>

Hth,
Andre

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux