Я интегрирую свое программное обеспечение (PHP) с SalesForce, используя SalesForce PHP Toolkit.
Пока все отлично работает, но когда я начал писать код для вызова convertLead (), я получил ошибку «Ошибка сегментации».
Это код, который я выполняю:
require_once('../salesforce/SforceEnterpriseClient.php');
ini_set('soap.wsdl_cache_enabled', 0);
$SForce = new SforceEnterpriseClient();
$result = $SForce->createConnection('../salesforce/enterprise.wsdl.xml');
$result = $SForce->login('user', 'pass+token');
echo "Logged In!";
$data = array(
'convertedStatus' => 'Converted',
'leadId' => '00QC000000mDcmJMAS'
);
$result = $SForce->convertLead(array($data));
Вот и все.И я получаю ошибку сегментации.Я попытался использовать StdClass вместо ключевого массива, тоже самое.Метод convertLead в инструментарии SF очень прост, он просто вызывает тот же метод в экземпляре SoapClient ...
ПРИМЕЧАНИЕ: Я запускаю этот скрипт из CLI, а не черезApache.
ОБНОВЛЕНИЕ: Только что попробовал запустить "strace" с моим скриптом.Последние строки:
close(4) = 0
write(1, "Logged IN!", 10Logged IN!) = 10
open("error_log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 4
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Кроме того, на случай, если это уместно:
php --version
PHP 5.2.13 (cli) (built: Jul 17 2010 22:01:13)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
with the ionCube PHP Loader v3.3.20, Copyright (c) 2002-2010, by ionCube Ltd., and
with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies
Это также происходит на моей машине разработчика (Windows), поэтому я сомневаюсь, что это ускорителичто-нибудь в этом роде:
php --version
PHP 5.2.13 (cli) (built: Feb 24 2010 14:37:44)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
Это может относиться или не относиться к SalesForce.Вероятно, нет, похоже на ошибку в библиотеке SOAP PHP.Может быть, запрос / ответ не работает, но я не вижу их, потому что они HTTPS.
Есть идеи, как мне диагностировать (или, что более важно, обойти) эту проблему?
Спасибо!
Даниил