문제

나는 사용하고있다 get_browser() 사람들에게 브라우저가 JavaScript를 지원하지 않는다고 경고하려는 시도에서 기능합니다. 실제로 나는 그것을 사용하여 그들이 제작하고있는 웹 응용 프로그램의 특정 부분을 사용할 수 있다고 말하고 있습니다. 나는 그것을 사용하는 것을 두려워하는 개발자들의 말을 듣는 데 지쳤고 언어에서 큰 잠재력을 보았 기 때문에 JavaScript를 올바르게 사용하기로 결정했습니다. 나는 여기에 오류가있다.

Browscap INI 지시문이 설정되지 않았습니다

이제 이것이 내가 Php.ini를 설정해야한다는 것을 의미한다고 생각합니다. 누군가 나에게 이것에 대한 방향을 줄 수 있습니까?

도움이 되었습니까?

해결책

나는 이것이 브라우저가 웹 사이트에 필요한 것을 지원하는 "가장 좋은"솔루션이라고 생각하지 않습니다.

  • 우선, 브라우저는 거짓말을 할 수 있습니다. User-Agent
    • 주어진 버전의 지원이 필요한 것을 지원해야하더라도 JavaScript는 여전히 비활성화 될 수 있습니다.
  • 둘째, JavaScript와 관련하여 브라우저가 할 수있는 일을 감지하는 "적절한"방법이 더 있습니다.

두 번째 지점에서는 브라우저가 실제로 필요한 것을 지원하는지 테스트하고 Browscap One과 같은 목록에 의존하지 않도록 테스트해야합니다.


그래도, 당신의 질문에 대한 답변 browscap : 매뉴얼 페이지 하단에 메모가 있습니다. get_browser 그것은 말한다 (인용) :

메모: 이것이 작동하기 위해, 당신의 browscap php.ini의 구성 설정은 올바른 위치를 가리켜 야합니다. browscap.ini시스템에 파일. browscap.ini PHP와 함께 번들되어 있지 않지만 최신 정보를 찾을 수 있습니다. » php_browscap.ini 여기에 파일.
하는 동안 browscap.ini 많은 브라우저에 대한 정보가 포함되어 있으므로 데이터베이스를 최신 상태로 유지하기 위해 사용자 업데이트에 의존합니다. 파일의 형식은 상당히 자명합니다.

그래서 당신은 다음을해야합니다.

  • Browscap 파일 다운로드,
  • 그리고 설정 browscap 당신의 지시 php.ini 파일이므로 다운로드 한 파일을 가리 킵니다.

다른 팁

이 주제는 오래된 주제를 알고 있지만 다음과 같은 것을 사용할 수 있습니다.

<noscript>JavaScript must be enabled</noscript>

JavaScript가 활성화되지 않은 경우 표시합니다.

브라우저 클래스를 사용하여 브라우저를 확인할 수 있습니다. github

구성

      include(/your-path/Browser.php);
$browser = new Browser();
    if( $browser->getBrowser() == Browser::BROWSER_IE && $browser->getVersion() >= 8 ) 
        {
            echo "Your browser is Internet explorer version 8";                                                                                                                                    
    }

PHP에는 웹 서버가 Browscap 파일 (예 : www-data 대신 root로 소유 한 경우)을 읽을 수 없다는 것이 실제 문제가 발생할 수있는 버그가 있습니다. 보다 https://bugs.php.net/bug.php?id=74501

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