>  Q&A  >  본문

Windows XAMPP PHP 8.1.10에 배 설치

공식 [설명서][1]에서 PEAR 설치 방법에 대한 지침을 따랐을 때 다음 오류가 발생했습니다.

致命错误:未捕获错误:无法在 C:xampp_latestphp 中打开所需的 'phar://go-pear.phar/index.php' (include_path='C:xampp_latestphpPEAR') go-pear.phar:1284 堆栈跟踪:#0 {main} 抛出在 C:xampp_latestphpgo-pear.phar 第 1284 알았어

다른 해결 방법을 찾아보다가 [이것][2]을 찾았습니다. 하지만 여전히 Pear를 설치할 수 없고 다음 오류가 발생합니다.

PHP 致命错误:C:xampp_latestphpgo-pear.php 第 1182 행은 더 이상 중괄호가 포함된 배열 및 문자열 오프셋 액세스 구문을 지원하지 않습니다.

네트워크와 명령줄을 통해 설치를 시도했지만 동일한 오류가 발생했습니다.

또 업데이트.. 계속해서 더 검색해 본 결과 다음과 같은 결과를 얻었습니다. 협회 그래서 오류에서 제안한 대로 다른 파일에서 중괄호를 대괄호로 변경하려고 시도했는데 결국 다음 오류가 발생했습니다.

으아악


P粉141911244P粉141911244267일 전350

모든 응답(1)나는 대답할 것이다

  • P粉222320176

    P粉2223201762024-01-01 00:19:35

    기본적으로 xampp에서 제공하는 PEAR는 PHP 8.x에서 실행되도록 업데이트되지 않았습니다. PHP 8.0에서는 더 이상 사용되지 않고 제거된 여러 기능에 직면하여 PHP 치명적인 오류가 발생했습니다.

    1) 접속 문자 문제
    첫 번째 문제는 문자열 액세스가 중괄호{} 访问时从零开始的偏移量已被删除,只能使用方括号 []를 사용한다는 것입니다.

    원본 코드 비교

    으아악

    고정 코드 사용:

    으아악

    해결책:
    정규식을 사용하세요 {($[a-zA-Z0-9+]*)} 搜索 xampp/php/pear 文件夹中的所有文件并替换与 []
    중요: 모든 항목을 확인하고 스크립트의 정규식을 변경하지 마세요! ! !


    2) 포착되지 않은 ArgumentCountError 문제
    두 번째 문제는 PHP 함수 set_error_handler< /a>가 PHP 8.0.0에서 마지막 매개변수를 제거했다는 것입니다.
    콜백 함수에는 5개의 인수가 필요하지만 4개의 인수만 가져오므로 PHP Fatal error: Uncaught ArgumentCountError: Too Fewarguments to function error_handler( ),4 项通过,正好 5 项预期로 호출이 실패합니다.

    해결책:
    set_error_handler( 调用并找到引用的回调函数 error_handler를 검색하고 마지막 매개변수를 선택사항으로 설정하세요.
    내 경우에는 스크립트 xamppphppearpearcmd.php에 있었고 함수 정의는 446행에 있었습니다.

    원래 함수 정의 비교:

    으아악

    수정 사항을 적용한 후:

    으아악

    참고: 2021년 9월에 돌아온 Apache 친구 지원 포럼에서 "버그"가 보고된 것을 발견했습니다.


    3) 정의되지 않은 함수 Each() 문제
    세 번째 문제는 PHP 함수 each()가 제거되어 PHP致命错误:未捕获错误:调用未定义的函数each()이 발생한다는 것입니다.

    솔루션
    every( (使用空格消除结果集中的函数“foreach”),并使用函数 foreach 항목을 모두 검색하여 각각의 올바른 매개변수 파일을 사용하여 확인하고 업데이트하세요.

    while 문법 예

    으아악

    로 대체 가능

    으아악

    list 문법 예

    으아악

    로 대체 가능

    으아악

    If - else 语句中使用的其他情况,可以用 emtpy($args) 后跟 foreach($args as $opt_arg ){} 빌드 변수 $opt_arg에도 일부가 있습니다.

    If - else 문법 예

    으아악

    로 대체 가능

    으아악

    PEAR는 마침내 XAMPP 버전: 8.2.0

    에서 사용할 수 있습니다. 으아악

    회신하다
    0
  • 취소회신하다