nuker
Новичок
Curl и php5 на windows! php вызывает ошибку и закрывается виндой!
Привет всем!
В php5 появилась возможность многопоточности curl'a, а она мне как раз была и нужна.
Я составил свой код по примеру, все работает, все супер, но после 2 минут работы - php вызывает ошибку и закрывается.
Ставил php как модуль для apache - apache завершается.
Как cgi - php завершается.
Да, кстати, при работе скрипта - 100% нагрузка на проц!
В php.ini включены только 2 модуля: curl и mysql
Ошибки:
ppName: php-cgi.exe AppVer: 5.1.1.1 ModName: msvcrt.dll
ModVer: 7.0.2600.1106 Offset: 00032e0a
При работе через apache - php5ts.dll
Вот кусок кода:
Кто сталкивался с такой проблеммой? Кто знает, как ее решить?
Перепробованные версии php: 5.0.6, 5.1.1
Стоит Denwer 2005-01-26, но запускал и без него, чисто через php-cgi.exe, так что проблемма не в нем.
Systeminfo:
Заранее всем спасибо за ответы!
Привет всем!
В php5 появилась возможность многопоточности curl'a, а она мне как раз была и нужна.
Я составил свой код по примеру, все работает, все супер, но после 2 минут работы - php вызывает ошибку и закрывается.
Ставил php как модуль для apache - apache завершается.
Как cgi - php завершается.
Да, кстати, при работе скрипта - 100% нагрузка на проц!
В php.ini включены только 2 модуля: curl и mysql
Ошибки:
ppName: php-cgi.exe AppVer: 5.1.1.1 ModName: msvcrt.dll
ModVer: 7.0.2600.1106 Offset: 00032e0a
При работе через apache - php5ts.dll
Вот кусок кода:
PHP:
<?
$mh = curl_multi_init();
foreach ($urls_for_get as $i => $url) {
$conn[$i]=curl_init();
curl_setopt($conn[$i],CURLOPT_URL,$url);
curl_setopt($conn[$i],CURLOPT_PORT,80);
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1);
curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,60);
curl_setopt($conn[$i],CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($conn[$i],CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($conn[$i], CURLOPT_TIMEOUT, 150);
curl_setopt($conn[$i], CURLOPT_PROXY, "192.168.1.1:3128");
curl_setopt($conn[$i],CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_multi_add_handle ($mh,$conn[$i]);
}
do { $n=curl_multi_exec($mh,$active); } while ($active);
foreach ($urls_for_get as $i => $url) {
$res[$i]=curl_multi_getcontent($conn[$i]);
curl_multi_remove_handle($mh,$conn[$i]);
curl_close($conn[$i]);
}
curl_multi_close($mh);
?>
Перепробованные версии php: 5.0.6, 5.1.1
Стоит Denwer 2005-01-26, но запускал и без него, чисто через php-cgi.exe, так что проблемма не в нем.
Systeminfo:
Код:
Имя узла: NAME
Название ОС: Microsoft Windows XP Professional
Версия ОС: 5.1.2600 Service Pack 1 сборка 2600
Изготовитель ОС: Microsoft Corporation
Параметры ОС: Изолированная рабочая станция
Сборка ОС: Uniprocessor Free
Зарегистрированный владелец: NAME
Зарегистрированная организация: NAME
Код продукта: 55683-770-4583701-22342
Дата установки: 19.10.2005, 22:36:47
Время работы системы: 1 дн., 0 час., 3 мин, 57 сек.
Изготовитель системы: ASUSTEK
Модель системы: A2C/S
Тип системы: X86-based PC
Процессор(ы): Число процессоров - 1.
[01]: x86 Family 15 Model 2 Stepping 9 GenuineIntel ~2800 МГц
Версия BIOS: ASUS - 42302e31
Папка Windows: C:\WINDOWS
Системная папка: C:\WINDOWS\System32
Устройство загрузки: \Device\HarddiskVolume1
Язык системы: ru;Русский
Язык ввода: en-us;Английский (США)
Часовой пояс: Н/Д
Полный объем физической памяти: 512 МБ
Доступная физическая память: 141 МБ
Виртуальная память: Макс. размер: 1 762 МБ
Виртуальная память: доступно: 824 МБ
Виртуальная память: используется: 938 МБ
Расположение файла подкачки: C:\pagefile.sys
Домен: HOME
Сервер входа в сеть: \\NAME
Исправление(я): Число установленных исправлений - 7.
[01]: File 1
[02]: File 1
[03]: File 1
[04]: Q147222
[05]: KB842773 - Update
[06]: KB893803v2 - Update
[07]: KB898461 - Update
Неизвестные сетевые адаптеры: Число сетевых адаптеров - 3.
[01]: SiS 900 PCI Fast Ethernet Adapter
Имя подключения: Подключение по локальной сети
DHCP включен: Нет
[02]: Сетевой адаптер 1394
Имя подключения: 1394-соединение
[03]: ASUS 802.11g Network Adapter
Имя подключения: Беспроводное сетевое соединение
Заранее всем спасибо за ответы!