lomonosv
20.05.2013 - 15:28
Господа. Помогите разобраться.
Есть библиотека написана на С и подключена к PHP.
Есть вызов функции из этой библиотеки в скрипте.
Эта функция бывает виснет.
Исходников библиотеки нету, да и никто не разрешит править.
Собственно вопрос: Как ограничить время выполнения этой функции?
Пробовал set_time_limit() совместно с register_shutdown_function()
Не помогает!
Игорь_Vasinsky
20.05.2013 - 15:30
попробуй увеличить память на выполнение скрипта, если есть возможность
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
lomonosv
20.05.2013 - 15:33
Спасибо за совет. Но мне именно нужно каким либо образом оборвать выполнение допустим если это заняло более 10 сек.
lomonosv
20.05.2013 - 15:56
Если нету вариантов решения никаких - то у меня есть другой вопрос на эту же тему:
как ограничить время выполнения include('http://xxxx.xxxx.xxxx.xxxx/file.php'), где xxxx.xxxx.xxxx.xxxx - ip-адрес другого сервера
killer8080
22.05.2013 - 10:25
Цитата (lomonosv @ 20.05.2013 - 14:56) |
как ограничить время выполнения include('http://xxxx.xxxx.xxxx.xxxx/file.php'), где xxxx.xxxx.xxxx.xxxx - ip-адрес другого сервера |
попробуй так
$old_timeout = ini_get('default_socket_timeout');
stream_context_set_default(array('http' => array('timeout' => 5)));
include 'http://xxx.xxx.xxx.xxx';
stream_context_set_default(array('http' => array('timeout' => $old_timeout)));