PHP - 通过SOAP访问Magento时有时会超时

时间:2014-02-09 14:44:37

标签: soap timeout command-line-interface

我有一个简单的脚本应该: 1.从Magento获取所有客户(进入阵列) 2.获取他们的完整地址(使用foreach迭代数组) 2A。睡3秒 3.获取订单历史记录(相同的foreach) 3A。再睡一次3秒

我正在使用PHP CLI从命令行执行此操作。 该脚本运行几分钟 - 有时甚至半小时,但大多数情况下脚本会看到错误,无法完全遍历所有数据:

    PHP Fatal error:  Uncaught SoapFault exception: [HTTP] Could not connect to host in /var/www/soap/mag_crm.php:162
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://myurl...', 'urn:Mage_Api_Mo...', 1, 0)
#1 /var/www/soap/mag_crm.php(162): SoapClient->__call('salesOrderList', Array)
#2 /var/www/soap/mag_crm.php(162): SoapClient->salesOrderList('fd66fc18e4b8...', Array)
#3 /var/www/soap/mag_crm.php(85): fetchAllOrders(259)
#4 {main}
  thrown in /var/www/soap/mag_crm.php on line 162

我怎样才能改进这个脚本,或者出现这样的错误 - 只需重试一次?

代码本身很简单 - 只是简单的函数调用,例如:

$aOrders = fetchAllOrders ( $oCustomer->customer_id );

(在foreach内)

1 个答案:

答案 0 :(得分:0)

您需要将magento设置更改为:

System -> Index Management
Check All Items
Change Action to "Change Index Mode"
Select "Manual"
Save

问题是该网站会一直尝试刷新图片并终止会话。