Windows XAMPP PHP 8.1.10에 배 설치
P粉141911244
P粉141911244 2023-12-31 10:46:35
0
1
415

공식 [설명서][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粉141911244
P粉141911244

모든 응답(1)
P粉222320176

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

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

원본 코드 비교

으아악

고정 코드 사용:

으아악

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


2) 포착되지 않은 ArgumentCountError 문제
두 번째 문제는 PHP 함수 set_error_handler가 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

에서 사용할 수 있습니다. 으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿