PHP ini 파일 및 .so 파일을 원래 구성으로 복원하는 방법

PHP ini 파일 및 .so 파일을 원래 구성으로 복원하는 방법

가상 머신을 PHP7로 업그레이드하려고 하는데 다음과 같은 몇 가지 문제가 발생했습니다. PHP 경고: PHP 시작: 동적 라이브러리 '/usr/lib64/php/modules/pdo.so' - /usr/를 로드할 수 없습니다. lib64/php/modules /pdo.so: 정의되지 않은 기호: 알 수 없는 줄 0의 zend_get_execulated_scope

이 파일을 다시 다운로드하고 싶습니다. 어떻게 해야 하나요?

Centos 7에서 작업 중입니다.

답변1

CentOS 7의 패키지 관리자는 yum이며, 여기에는 whatprovides파일이 속한 패키지를 찾는 데 사용할 수 있는 하위 명령이 있습니다. 예를 들어 재설치 방법을 알고 싶습니다./usr/lib64/php/modules/pdo.so

yum whatprovides /usr/lib64/php/modules/pdo.so
... 
php-pdo-5.4.16-42.el7.x86_64 : A database access abstraction module for PHP applications
Repo        : base
Matched from:
Filename    : /usr/lib64/php/modules/pdo.so



php-pdo-5.4.16-43.el7_4.x86_64 : A database access abstraction module for PHP applications
Repo        : updates
Matched from:
Filename    : /usr/lib64/php/modules/pdo.so

따라서 내 CentOS 7 시스템에서는

yum install php-pdo

필요에 따라 헹구고 반복하십시오.

답변2

설치된 모든 PHP 패키지(일반적으로 "php-*")를 다시 설치해야 합니다. 가지고 있는 것과 다른 RPM의 구성 파일에 대해 RPM은 ".rpmnew" 파일을 생성하고 패키지를 다시 설치하는 트랜잭션을 실행할 때 경고를 표시합니다. 이를 수동으로 사용하여 손상된 파일을 교체할 수 있습니다(또는 diff 도구를 사용하여 원하는 것과 원하지 않는 것을 알아낼 수도 있습니다).

참고 사항: /etc/php.d/에 사용자 정의 ini 파일이 있는 경우 주의하십시오. Yum은 이에 대해 어떠한 경고도 발행하지 않습니다. 재설치를 실행하기 전에 폴더를 삭제하거나 이름을 바꿀 수 있습니다.

관련 정보