沒有人知道如何從失敗間歇性停止simPRO PHP Tivoka庫,simPRO Tivoka客戶端間歇性地失敗
我問simPRO的支持和他們說,他們無法複製的問題。 我認爲這可能與某個set_time_limit()
有關,它在一個庫中的某處被調用,但是我無法找到它。
進出口運行在PHP
<?php
set_time_limit(0);
//simPRO Settings
$companyID = 0;
use SimPro\Api\Client as SimProClient;
use Eher\OAuth\Consumer as OAuthConsumer;
use \Monolog\Logger;
{
//if (PHP_SAPI != 'cli') die("This example must be run from the command line");
include ("../../simpro_api_examples/vendor/autoload.php");
define("SERVER", '**************');
define("CONSUMER_KEY", '**************');
define("CONSUMER_SECRET", '***************');
$logger = new Logger('api-client');
$logger->pushHandler(new \Monolog\Handler\StreamHandler('php://stderr'), Logger::INFO);
$simPROClient = new SimProClient(SERVER , new OAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET), null);
$simPROClient->setLogger($logger);
}
?>
下面當我在執行檢索使用
<?php
$jobIDs = array(1,2,3,4,5,6,7,8,9,...,500);
foreach($jobIDs as $current Job)
{
$jobDetails = $simPROClient -> JobRetrieve(0/*this is the company id as per their doccumentation at http://api.simpro.co/*,$currentJob);
}
?>
多個作業在某一點(但絕不相同品脫),它返回以下
致命錯誤:未捕獲的Tivoka \ Exception \ ConnectionException:Connec重刑 爲 「https://integrated-za.simprosuite.com/api/」 未能在C:\深淵的Web服務器 \ htdocs中\ simpro_api_examples \供應商\ tivoka \ tivoka \ LIB \ Tivoka \客戶\ Connection.php:114 堆棧跟蹤:#0 C:\深淵的Web服務器 \ txtoka \ Client \ Connection-> send(Object(Tivoka \ Client \ Request))#1 C:\ Abyss Web Server \ htdocs \ ICG \ CustomerReports \ CustomerReport.php(1625): SimPro \阿比\客戶端 - > __呼叫( 'JobRetrieve',陣列)#2 {主}拋出 C:\深淵的Web服務器 \ htdocs中\ simpro_api_examples \廠商\ tivoka \ tivoka \ lib \ Tivoka \ Client \ Connection.php on line 114
如果我在$jobIDs
數組中使用較少的作業ID執行命令,則腳本執行時不會失敗。
我已經調整了我的php.ini允許無限制的腳本執行和輸入時間
感謝@Hippie這種反應,我實際上是通過在tivoka庫中的每一個文件去和改變,以適應我的需要超時,這似乎已經完成了招對我來說, 我一定會檢查出雖然在未來可能會激怒 –