php-windows Digest 30 Nov 2006 17:11:55 -0000 Issue 3077
Topics (messages 27288 through 27291):
Re: Payflow Pro used as a COM object
27288 by: Vincent DUPONT
27289 by: Vandegrift, Ken
27290 by: Vincent DUPONT
Running cURL
27291 by: Bill Bolte
Administrivia:
To subscribe to the digest, e-mail:
[EMAIL PROTECTED]
To unsubscribe from the digest, e-mail:
[EMAIL PROTECTED]
To post to the list, e-mail:
[email protected]
----------------------------------------------------------------------
--- Begin Message ---
Hello,
I've had very bad experience with COM objects in PHP too.
It was 2 years agi, and I though the 5.1 did solved some of the problems...
Note that it is very difficult to know wher ethe problem is located : the PHP
handler or the COM itself...
Do you have any opportunity to use something other, as a XMLRPC, Webservices,
etc?
I noticed a problem was loading the COM on every need. Maybe one solution could
be to try to re-use the COM object when it as been created ... For example, if
you need multiple call for each user, try to reusser the COM.
Or even try to store the trasactions into a DB and process them by block of 50
or 100 in a loop.
I don't know your project, so it is a bit difficult to see how to do
things...but try to reuse to limit the number of instances / garbage...
Is it the part inside the try/catch that takes so long??
vincent
-----Original Message-----
From: Vandegrift, Ken [mailto:[EMAIL PROTECTED]
Sent: Wed 29/11/2006 22:06
To: [email protected]
Subject: [PHP-WIN] Payflow Pro used as a COM object
Good Day,
I have a situation with our ecommerce site where the the payment
processing script will hang forever while waiting for the Payflow Pro
gateway client to be initialized through COM. This does not happen
everytime, but is happening frequently enough to cause frustration with
our customers. The fix has been a server reboot and then transactions
flow again (until this happens again - lately every 24-48 hours). There
is no indication in the Windows event viewer of any issue - the script
does not time out (script timeout is set to 60 seconds), but I assume
the no timeout is due to PHP not factoring external resource
initialization as part of the script timer. Anyway, If anybody has any
ideas where in windows I can glean more info on what is happening or if
this is a PHP issue - please chime in. My application logs are not
written to because no error is being detected.
Environment:
Windows Server 2003
IIS 6
PHP 5.1.4
Code Snippet (from my PayflowPro class):
try
{
$this->pfpro = new COM("PFProCOMControl.PFProCOMControl.1");
}
catch (COM_Exception $e)
{
throw $e;
}
// Initialize transaction parameters...
// INITIALIZE CONNECTION WITH VERISIGN
$pfproContext = $this->pfpro->CreateContext("{$this->hostAddress}",
$this->hostPort,
$this->timeout,
"{$this->proxyAddress}",
$this->proxyPort,
"{$this->proxyUser}",
"{$this->proxyPwd}");
// SUBMIT TRANSACTION REQUEST
$response = $this->pfpro->SubmitTransaction($pfproContext, $params,
strlen($params));
$this->responseToArray($response);
// CLOSE CONNECTION WITH VERISIGN
$this->pfpro->DestroyContext($pfproContext);
Ken Vandegrift
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
Web Administrator
Sharis Mgmt. Corp
--- End Message ---
--- Begin Message ---
Thanks for your reply.
Well, a new instance of the Payflow COM is created because it is a
simple authorization transaction for an individual customer ordering
from our site. I could develop an XML solution with VeriSign but my time
is limited so I would like to use the existing solution if feasible.
Do you think it is a garbage issue with multiple COM objects in memory?
How does Windows cleanup after itself if the come object is no longer
referenced?
Anyway, thanks for your help.
Ken Vandegrift
[EMAIL PROTECTED]
Web Administrator
Sharis Mgmt. Corp
-----Original Message-----
From: Vincent DUPONT [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 29, 2006 1:23 PM
To: Vandegrift, Ken; [email protected]
Subject: RE: [PHP-WIN] Payflow Pro used as a COM object
Hello,
I've had very bad experience with COM objects in PHP too.
It was 2 years agi, and I though the 5.1 did solved some of the
problems...
Note that it is very difficult to know wher ethe problem is located :
the PHP handler or the COM itself...
Do you have any opportunity to use something other, as a XMLRPC,
Webservices, etc?
I noticed a problem was loading the COM on every need. Maybe one
solution could be to try to re-use the COM object when it as been
created ... For example, if you need multiple call for each user, try to
reusser the COM.
Or even try to store the trasactions into a DB and process them by block
of 50 or 100 in a loop.
I don't know your project, so it is a bit difficult to see how to do
things...but try to reuse to limit the number of instances / garbage...
Is it the part inside the try/catch that takes so long??
vincent
-----Original Message-----
From: Vandegrift, Ken [mailto:[EMAIL PROTECTED]
Sent: Wed 29/11/2006 22:06
To: [email protected]
Subject: [PHP-WIN] Payflow Pro used as a COM object
Good Day,
I have a situation with our ecommerce site where the the payment
processing script will hang forever while waiting for the Payflow Pro
gateway client to be initialized through COM. This does not happen
everytime, but is happening frequently enough to cause frustration with
our customers. The fix has been a server reboot and then transactions
flow again (until this happens again - lately every 24-48 hours). There
is no indication in the Windows event viewer of any issue - the script
does not time out (script timeout is set to 60 seconds), but I assume
the no timeout is due to PHP not factoring external resource
initialization as part of the script timer. Anyway, If anybody has any
ideas where in windows I can glean more info on what is happening or if
this is a PHP issue - please chime in. My application logs are not
written to because no error is being detected.
Environment:
Windows Server 2003
IIS 6
PHP 5.1.4
Code Snippet (from my PayflowPro class):
try
{
$this->pfpro = new COM("PFProCOMControl.PFProCOMControl.1");
}
catch (COM_Exception $e)
{
throw $e;
}
// Initialize transaction parameters...
// INITIALIZE CONNECTION WITH VERISIGN
$pfproContext = $this->pfpro->CreateContext("{$this->hostAddress}",
$this->hostPort,
$this->timeout,
"{$this->proxyAddress}",
$this->proxyPort,
"{$this->proxyUser}",
"{$this->proxyPwd}");
// SUBMIT TRANSACTION REQUEST
$response = $this->pfpro->SubmitTransaction($pfproContext, $params,
strlen($params)); $this->responseToArray($response);
// CLOSE CONNECTION WITH VERISIGN
$this->pfpro->DestroyContext($pfproContext);
Ken Vandegrift
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> Web Administrator
Sharis Mgmt. Corp
--- End Message ---
--- Begin Message ---
As you probably know, windows is often the problem source when asking about
cleaning processes and free resources.
So, 'Yes', I believe this is the key, from my own experience with COM and
activeX (with and without PHP)
can you get eh very last version of the COM? can you get a support from the
developers? maybe they can help.
vincent
(don't expect my reply soon, it is 23h25 here in Belgium, so i go to sleep!)
-----Original Message-----
From: Vandegrift, Ken [mailto:[EMAIL PROTECTED]
Sent: Wed 29/11/2006 22:27
To: Vincent DUPONT; [email protected]
Subject: RE: [PHP-WIN] Payflow Pro used as a COM object
Thanks for your reply.
Well, a new instance of the Payflow COM is created because it is a
simple authorization transaction for an individual custo tSign but my time
is limited so I would like to use the existing solution if feasible.
Do you think it is a garbage issue with multiple COM objects in memory?
How does Windows cleanup after itself if the come object is no longer
referenced?
Anyway, thanks for your help.
Ken Vandegrift
[EMAIL PROTECTED]
Web Administrator
Sharis Mgmt. Corp
-----Original Message-----
From: Vincent DUPONT [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 29, 2006 1:23 PM
To: Vandegrift, Ken; [email protected]
Subject: RE: [PHP-WIN] Payflow Pro used as a COM object
Hello,
I've had very bad experience with COM objects in PHP too.
It was 2 years agi, and I though the 5.1 did solved some of the
problems...
Note that it is very difficult to know wher ethe problem is located :
the PHP handler or the COM itself...
Do you have any opportunity to use something other, as a XMLRPC,
Webservices, etc?
I noticed a problem was loading the COM on every need. Maybe one
solution could be to try to re-use the COM object when it as been
created ... For example, if you need multiple call for each user, try to
reusser the COM.
Or even try to store the trasactions into a DB and process them by block
of 50 or 100 in a loop.
I don't know your project, so it is a bit difficult to see how to do
things...but try to reuse to limit the number of instances / garbage...
Is it the part inside the try/catch that takes so long??
vincent
-----Original Message-----
From: Vandegrift, Ken [mailto:[EMAIL PROTECTED]
Sent: Wed 29/11/2006 22:06
To: [email protected]
Subject: [PHP-WIN] Payflow Pro used as a COM object
Good Day,
I have a situation with our ecommerce site where the the payment
processing script will hang forever while waiting for the Payflow Pro
gateway client to be initialized through COM. This does not happen
everytime, but is happening frequently enough to cause frustration with
our customers. The fix has been a server reboot and then transactions
flow again (until this happens again - lately every 24-48 hours). There
is no indication in the Windows event viewer of any issue - the script
does not time out (script timeout is set to 60 seconds), but I assume
the no timeout is due to PHP not factoring external resource
initialization as part of the script timer. Anyway, If anybody has any
ideas where in windows I can glean more info on what is happening or if
this is a PHP issue - please chime in. My application logs are not
written to because no error is being detected.
Environment:
Windows Server 2003
IIS 6
PHP 5.1.4
Code Snippet (from my PayflowPro class):
try
{
$this->pfpro = new COM("PFProCOMControl.PFProCOMControl.1");
}
catch (COM_Exception $e)
{
throw $e;
}
// Initialize transaction parameters...
// INITIALIZE CONNECTION WITH VERISIGN
$pfproContext = $this->pfpro->CreateContext("{$this->hostAddress}",
$this->hostPort,
$this->timeout,
"{$this->proxyAddress}",
$this->proxyPort,
"{$this->proxyUser}",
"{$this->proxyPwd}");
// SUBMIT TRANSACTION REQUEST
$response = $this->pfpro->SubmitTransaction($pfproContext, $params,
strlen($params)); $this->responseToArray($response);
// CLOSE CONNECTION WITH VERISIGN
$this->pfpro->DestroyContext($pfproContext);
Ken Vandegrift
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> Web Administrator
Sharis Mgmt. Corp
--- End Message ---
--- Begin Message ---
WinXP sp2, IIS 5.1
I'm getting this message: "PHP Warning: PHP Startup: Unable to load
dynamic library '.\ext\php_curl.dll' - The specified module could not be
found. in Unknown on line 0"
The dll is in the correct folder c:\php\ext\php_curl.dll. I'm not having
troubles with any of the other extensions in that folder:
extension=php_pdo_mysql.dll
extension=php_mysql.dll
etc...
what else needs done to get cURL running? It's uncommented in php.ini...
Bill Bolte, Web Developer
High Touch, Inc.
2020 N. Amidon
Wichita, KS 67203-2113
316-832-1611 : corporate
316-831-8147 : desk
316-831-8347 : fax
[EMAIL PROTECTED]
"REACHING HIGHER FOR OUR CLIENTS...EVERY DAY!"
--- End Message ---