2011-01-25 2 views
0

웹 사이트가 작동하도록 만들었으며 지금 당장 무엇을 해야할지 잘 모릅니다. 데비안의 우분투 가상 머신에서 WAMP를 사용하여 가상 머신에서 실행할 수는 있지만 클라이언트에서 서버로 작업 할 수는 없습니다.ERROR를 인쇄하지 않고 코드가 귀하의 것이 아닌 PHP 문제 식별

나는 문제가 도착한 것이라고 생각합니다. 내가 수정할 수 없습니다 양식은 다음 URL을 사용하여 GET에 의해 발송에 실패한다 :

http://domain.com/SGAP/dades_proj_edit.php?idedit=2011854&id=&projectname=afsdfasdf&comptitle=asasfdafsdafs&codarea=ECIV&grauimp=1&codtipus=2&codsubtipus=6&subtipusdef=fdsaafasfddfs&codpais=8&clientid=2&promotor=asdfa&entfin=fsdafadsfds&impcontract=2&initdate=21%2F01%2F2011&findate=30%2F01%2F2011&uteflag=false&utepartic=&utepercent=0&descprelim=fdsadasdadfsadfs&codprojstatus=1&statusstamp=25%2F01%2F2011&cruserid=&action=update

파이어 폭스없이 오류와 블랑 페이지를 보여줍니다. 내가 무슨 일이 있지만 대기 페이지가 0 오류와 함께 표시되면 보여줄 수있는 error_reporting (E_ALL) 및 ini_set ("error_reporting", E_ALL) 모든 오류를 표시하도록 강제했습니다.

내가 $ _GET 오류라고 가정하고 그 페이지의 맨 위에 넣고 그 끝에 <?php if($_GET["test"]) echo "Works"; ?>을 넣고 웹 페이지를 domain.com/SGAP/dades_proj.edit.php?test로 호출하려고했습니다. = testing 그리고 그것은 처음부터 끝까지 작동합니다 ... 나는 어디에서 오류인지 모르겠습니다.

내가 확인할 수있는 부분은 흰색 페이지로 이동하는 것입니다. 미리 감사드립니다.

+0

GET (dades_proj_edut.php)을 받고 표시해야하는 페이지는 무엇입니까? 페이지 상단의 모든 GET 입력을 화면에 인쇄 해 보았습니까? – Merijn

+0

오류를보고하지 않지만 서버 로그를 확인 했습니까? – Spudley

+0

[Tue Jan 25 10:12:49 2011] [주의 사항] 자식 pid 30310 종료 신호 세그먼트 오류 (11)' – udexter

답변

1

다음은 내가하는 일입니다.

시작 파일/스택의 상단에,이 코드를 추가

<? 
$myUniqueCounter = 0; 
error_log(++$myUniqueCounter . ', line ' . __LINE__); 

그런 다음 복사 된 모든 파일/스택을 통해 error_log 라인을 붙여하고 로깅을 중지 어디에 있는지를.

+0

동의합니다. 코드가 정확히 충돌하는 곳을 확인할 때까지 error_log부터 시작하십시오. tail -f bash의 로그 파일로 신속하게 추적하십시오.) 충돌하는 행을 발견하면 그 이유를 볼 수 있습니다. 또한 phpinfo()가 코드에서 필요한 것이 서버에서 비활성화되어 있는지 확인하십시오. – cromestant

+0

'[Tue Jan 25 10:12:49 2011] [주의] 자식 pid 30310 종료 신호 분할 오류 (11)'이것은 위의 URL을 실행할 때 오류 만 찾았지만 정확히 오류는 아닙니다. 나는 그것이 무엇을 의미하는지 모른다! : S – udexter

+0

빠른 검색이 나타납니다 : 이것은 PHP 동적로드 모듈과 아파치 포함 모듈 사이의 충돌로 인해 발생할 수 있습니다. pdo 매뉴얼을 확인하고 PHP 저장소 또는 debian 저장소에서 php 모듈을 제거하십시오. 다시 모듈과 불일치를 검사하기 위해로드 된 모듈을 모두 확인합니다. 하지만 설정에 문제가 있습니다. (이것은 코드가 아닙니다) – cromestant

1

가끔 빈 출력없이 php가 죽는 것을 봤습니다. 일반적으로이 문제를 해결하는 유일한 방법은 파일에서 모든 것을 제거한 다음 한 번에 한 줄에 코드를 다시 추가하는 것입니다. 작동이 멈 추면 방금 추가 한 것이 무엇이든 잘못한 것을 알게됩니다. 구문을 검사하기 위해 -l 플래그와 함께 PHP를 실행 해 볼 수는 있지만 문제를 찾을 수는 없습니다. 유일한 확실한 방법은 출력이 변경 될 때까지 실제로 추가하거나 제거하는 것입니다.

나는 이것이별로 도움이되지 않는다는 것을 알고 있지만, 디버거로 PHP 자체를 실행하지 않으면 문제를 디버깅 할 수있는 다른 방법이 없다는 것을 알았습니다 ... 사실, 당신은 그렇게 할 수 있습니다; gdb에서 PHP를 실행할 수 있습니까? 이는 문제의 원인을 찾는 데 도움이되지만 보장은 없습니다.

+0

원격 서버에 액세스 할 수 없습니다. 나는 회사에 전화해서 문제를 설명하고 그들이 결정했는지 아닌지를 결정해야한다. 나는이 서버에서 -l falg로 PHP를 실행할 수 없다고 생각한다 ... 나는 아파치와 PHP를 보았다. 아파치는 2.0이고 PHP는 5.1이다. 우선 2.2와 5.3으로 업그레이드하고 어떻게되는지 확인하겠습니다. 이 env가 작동하면 ... 작동할까요? :( – udexter

관련 문제