문제

나는 부하를 동적으로 PHP 클래스 파일과 함께 프로그램에서 사용 가능.고 그 파일을 수 없는 손상에 의해 어떤 이유입니다.

프로그램에서 사용 가 성공적으로 보고서가 없는 파일을 그 응용 프로그램 논리를 처리할 수 있습니다.하지만 이러한 파일이 손상되면,전체적인 처리를 중단으로 빈 화면 사용자"PHP 분석류:구문 오류"에서 오류로그에 기록한다.

체크인은 가능한 구문을 PHP 파일에서 PHP?

봤는데 여기: http://us.php.net/manual/en/function.php-check-syntax.php -그것은 사용되지 않습니다.

exec("php -l $file");

을 것 같다는 잘못된 방법(http://bugs.php.net/bug.php?id=46339)

생각?

도움이 되었습니까?

해결책

당신이 정말로 안를 확인하려고에 대한 비정 PHP 파일에 실행 시간:그것이 죽는 응답의 시간을 당신의 응용 프로그램입니다!

"더 나은 방법"을 사용하는 것입니다 php-l 명령행에서 당신이 완료되면 수정 PHP 스크립트을 포함하거나 그것을 빌드 프로세스에서 당신이 하나를 사용하는 경우;또는 플러그인으로 SVN pre-commit 후크를 사용하는 경우 SVN 정의할 수 있는 SVN 후크.

내 생각에,거의 모든 주어진 솔루션은 더 나은 것보다는 자신에는 실행 시간!


고려 오는 것과 같은 당신이 피하고 싶은 것입니다 아마도 일어나지 않을 경우,그것은 아마 더 나은...그냥 일어난다.
유일한 것입니다:활성화 로그,모니터,그들을 검출할 수 있을 때 신속하게 tere 은 문제가:-)


물론,이를 방지하지 않 처리에서 당신의 경우 누락된 파일하지만 다른 문제...

다른 팁

다른 방법으로 당신은 하나 만들 수 있습니다 php 파일에서 당신의 루트 디렉토리 checkSyntax.php

<?php
for($i=1; $i < count($argv); $i++){
        $temp = "php -l " . $argv[$i];
        $output = exec($temp);
        echo "\n$output";
}
?>

지금 열 bashrc 파일로 바로가기를 만들어 파일을 실행합니다.추가 아래 줄을 실행 checkSyntax.php

alias checkSyntaxErrors='php /root/checkSyntax.php'

지금 goto 원본 디렉토리지 svn 세인트입니다.

그것은 당신의 파일 목록,지금은 쉽게 명령을 실행합니다.

checkSyntaxErrors file1.php file2.php .......

이 검사는 모든 파일을 인수로 전달.

즐길 수 있습니다:)

에서 짧은:을 볼 수 없다 할 수 있는 방법이지만,그 아이디어가 있는 것으로 충분할 수 있습니다.

가 있 로그 모니터링 프로그램 또는 필터링할 수 있습니다 로그를 통해 표준 도구를 가진 파일에 대한 분석 오류가 있습니다.는 경우는 파일이 나타납니다,당신은 악당 파일이름으로 검 목록에 당신의 자동 검사기 전에는 부하에 대해 이 목록입니다.

이 방법으로,처음 시간 당신 봉사 빈 화면(assumig 오류 보고하여 출력 설정에서 생산 서버)그러나 두 번째는 페이지가 있지 않고 잘못 구성 요소입니다.

에서 자동 로더 목록을 해야는 이름 구성을 항상 시험을 로드하는 필수 클래스(기타 방법의 응용 프로그램에 있을 수 있는 일관성이 없는 상태)

당신은 또한 일부 단위 테스트,어디로드 PHP 신 동적으로 실행하고 주장하는 exec("php-l$파일이름")유효합니다.았다면 당신이 하는 것을 확인할 수 있다면에서 테스트를 생성,적절한 변수,그리고 합리적인 수준의 신뢰 PHP 좋았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top