2013-12-10 2 views
3

환경 : 2012 년 12 월 6 일 Parallel 's Plesk v11.5.30 업데이트 # 25를 실행하는 Windows Server 2012.5.2.17에서 5.3.27로 업그레이드 할 때 PHP 오류가 발생했습니다.

PHP 버전 5.2.17에서 작동하는 PHP 스크립트가 있지만, PHP 버전 5.3.27로 전환하면 코드 섹션에서 500 서버 오류가 발생합니다.

오류를 표시하기 위해 첫 번째 스크립트 항목의 헤더 포함 상단에 적절한 구문을 사용하고 있지만 작동하지 않습니다. 여기

ini_set('display_errors', 'On'); 
error_reporting(E_ALL); 

가 잘못된 코드 :

인 myscript.php

<?php 
    // Include PHP scripts. 
    include_once("../Scripts/Header.php"); 
    ... 

Header.php

<?php 
    ini_set('display_errors', 'On'); 
    error_reporting(E_ALL); 
    ... 
    include_once("myPeople.php"); 
    include_once("Tools.php"); 
    ... 

Tools.php (함수 단편)

// Create the needed objects. 
$oPeople = new myPeople($IdPerson); 

// Handle the request. 
$oPeople->IsVerified($IdPerson, &$IdVerified); 
,536,913,632 10

IsVerified() 메서드가 물건을 이동합니다. 이상한 점은 파일을 포함하고 실행하는 것이 아니라는 것입니다. 나는 함수를 주석 처리하고 그냥 빈 함수를 가지고 있지만, 도움이되지 않았다. 도움이되는 유일한 것은 라인을 주석 처리하는 것입니다.

function IsVerified($IdPerson, &$IdVerified) 
{ 
} 

그래서 내 질문은 : 그 스크립트가 트립됩니다 (나는 5.4.16과 같은 문제가 시도로, 이후 버전)

  1. 는 PHP 버전 5.3.17에서 무엇을 변경?
  2. 오류 메시지를 사용하더라도 더 이상 오류 메시지가 표시되지 않는 이유는 무엇입니까?
+0

자세한 내용은 "error.log"(아파치를 사용하는 경우)를 확인하십시오. 다음은 _changelog_ http://www.php.net/ChangeLog-5.php#5.3.17 – Leonardo

+0

설명서에 따른 것입니다. * display_errors는 런타임에 설정 될 수 있지만 (ini_set()을 사용하여) 스크립트에 치명적인 오류가있는 경우 영향을줍니다. 이것은 원하는 런타임 액션이 실행되지 않기 때문에 * 항상 작동하지는 않기 때문입니다. ''On ''대신에''1 ''로 설정해야합니다. 그러나 이것이 차이를 가져올 지 모르겠습니다. – jeroen

+0

Windows 플랫폼에서 Plesk를 사용하고 있으므로 아파치가 없으므로 이전에는 언급하지 않으셔서 죄송합니다. –

답변

3

런타임시 참조로 전달하기 때문입니다. 이것은 이전 버전의 PHP에서 waringn을 생성했으며 PHP 5.4 이후로 치명적인 오류입니다. 그 다음에 후 치명적인 오류되기 때문에

$oPeople->IsVerified($IdPerson, $IdVerified); 

당신은 물론이 문제를 해결해야합니다

$oPeople->IsVerified($IdPerson, &$IdVerified); 

에 :이 라인을 변경해야 http://3v4l.org/dQWEt

:이 예제를 확인 업그레이 드하지만 그러나, 당신은 5.3로 업그레이 드이며 따라서 이것은 치명적인 오류가 발생해서는 안됩니다. set_error_handler()을 사용하여 사용자 정의 오류 처리기를 등록 했습니까? 이는 오류 메시지가 표시되지 않고 사용되지 않는 메시지가 HTTP 500 응답으로 이어지는 이유 일 수 있습니다.

+1

"사용되지 않음"이란 오류가 있습니까? "치명적인 오류"가 시작되지 않았던 것처럼 보입니다. 5.4 – user2864740

+0

감가 상각 됨은 이후 버전이 전화를 지원하지 않을 수도 있다는 경고입니다. 그러나 결코 치명적이지는 않습니다. – Machavity

+0

오, 방금 5.3으로 업그레이드 된 것을 볼 수 있습니다. 사용자 정의 오류 처리기를 등록 했습니까? – hek2mgl