0
그래서 XML과 extrac $ xml-> loc을 더 많은 URL에서 확인하기 위해 다중 컬을 포함하는 스크립트를 작성하지만, 다른 URL을 찾지 못하면 스크립트 충돌 (중지)이 발생합니다. XML 파일simpleXML이 null인지 확인하는 방법
...multi curl code...
if($httpcode>=200 && $httpcode<=300) {
$xml = new SimpleXMLElement($data);
if($xml !== NULL) {
foreach ($xml->url as $url_list) {
$url = $url_list->loc;
$newurls[] = $url;
}
}
}
내가 그것을 작동 5 개 유효한 XML URL을 넣으면하지만 100 링크를 걸어 그 중 하나는 XML 스크립트가 중지 파일이 아닌 경우.
ERROR : 파일이 홈페이지에 나를 리디렉션 존재하지 않는 경우 때문에 내 스크립트가 HTML 파일에서 정보를 추출하려고처럼
은 (내 생각)[[email protected] ~]# php a z2
PHP Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /root/a:160
Stack trace:
#0 /root/a(160): SimpleXMLElement->__construct('\r\n<!DOCTYPE htm...')
#1 /root/a(65): mycurl_done('http://southpas...', '\r\n<!DOCTYPE htm...', Resource id #36)
#2 /root/a(175): ThreadsLoop()
#3 {main}
thrown in /root/a on line 160
[[email protected] ~]#
같은데 ... 어떤 옵션이 할 SimpleHTMLElement가 XML 파일의 전체 소스 코드 인 $ $ 변수를 구문 분석 할 수없는 경우 계속해야합니다.
내 스크립트를 실행 한 후 30 초가 지나면 작동하지 않는 것으로 보입니다. OS에서 죽게됩니다 ... 설명은 많은 양의 정보를 저장할 수 없기 때문입니다. –
@ john-smith 기본 최대 실행 시간이 30 초라고 생각합니다. php.ini 파일에이 파일을 추가해야 할 수도 있습니다. 메모리 제한을 늘려야 할 수도 있습니다. –
아니요 :) 최대 실행 시간이나 메모리 한도가 아니기 때문에 조금 문제를 연구해야하지만 실제로 거기에서 벗어난 것은 아닙니다 ... –