2013-05-19 2 views
0

XML을 통해 데이터를 가져 오는 스크립트에 어려움을 겪고 있습니다. 총 약 19,000 개의 제품이 76 개 이상의 파일에 분산되어 있으며 각 스크립트는 각 파일을 통해 실행되고 데이터를 구문 분석하여 데이터베이스로 가져옵니다.명백한 이유없이 스크립트가 종료됩니다.

그러나 어떤 이유로 스크립트는 나에게 잘못을 말하지 않고 종료됩니다. 내가 ini_set("display_errors", 1);

  • error_reporting(E_ALL);을 사용하고

    1. 는 내가 SQL에 오류보고가 있지만,
    2. 내가 memory_get_usage()를 통해 메모리 사용을 추적하고 있습니다
    3. 에 오류가없는 - 오지 않아요이 설정 가까이 오지는 memory_limit
    4. 각 프로젝트마다 time_limit()을 재설정하고 시간이 충분합니다.

    이상한 것은 스크립트가 멈추는 것입니다. 내가 출력하는 로깅의 양에 따라 다른 지점에서. 출력을 변경하지 않으면 스크립트는 같은 지점에서 멈 춥니 다. 추가 로깅 (/ 출력)을 추가 (또는 제거)하면 스크립트가 다른 지점에서 중지됩니다.

    메모리 나 타임 아웃과 관련이있는 것처럼 보입니다. 출력을 기반으로 임의의 지점에서 종료되기 때문에,하지만 원인을 파악할 수는 없습니다. 오류 메시지가 없습니다 ...

    무엇이 잘못되었는지 찾으려면 어떻게해야합니까?

    업데이트

    그것은 오류가 결국 서버에 표시되지 않는 것 같다. 나는 치명적인 오류 (세미콜론 삭제)를 강요 한 다음 500 개의 서버 오류가 발생했다는 브라우저 메시지를 받았습니다. 로컬 컴퓨터에서 동일한 작업을 수행 할 때 실제 오류 메시지가 나타납니다. 이게 뭐야? error_reporting()을 인쇄 할 때 "1"이 표시되고 ini_get("display_errors")은 "6143"(E_ALL)이라고 표시합니다. 오류 메시지를 표시하려면 어떻게합니까?

    제한 시간은 phpinfo()이며, 기본적으로 30입니다. 그러나 phpinfo 앞에 set_time_limit(60);을 추가하면 60이 표시됩니다. 은 phpinfo에 따르면 safe_mode 내가 12 초 후에 죽은 것을보고 스크립트 실행 타이밍 후 오프

    입니다 - 그래서

  • +0

    'error_reporting' 및/또는'display_errors' 설정이 어딘가에 대체되지 않았습니까? – Jon

    +0

    'display_errors'는'php를 통해서만 설정됩니다.ini' – Amir

    +0

    @Amir'ini_set'으로 설정할 수 있습니다 –

    답변

    0

    그것은집니다 안전 모드에 오류는 무한 루프 (치명적인 오류)로 인해 발생했으며 php.ini에서 error_reporting이 꺼져있어 치명적인 오류가 표시되지 않았습니다 (예 : @amir). 내 로컬 컴퓨터에서 문제를 재현 할 수 있었고 문제를 일으키는 오류가 발생했습니다.

    관련 문제