공식 [설명서][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
행은 더 이상 중괄호가 포함된 배열 및 문자열 오프셋 액세스 구문을 지원하지 않습니다.
네트워크와 명령줄을 통해 설치를 시도했지만 동일한 오류가 발생했습니다.
또 업데이트.. 계속해서 더 검색해 본 결과 다음과 같은 결과를 얻었습니다. 협회 그래서 오류에서 제안한 대로 다른 파일에서 중괄호를 대괄호로 변경하려고 시도했는데 결국 다음 오류가 발생했습니다.
으아악
기본적으로 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
에서 사용할 수 있습니다. 으아악