Como você pode restaurar os arquivos php ini e .so para sua configuração original

Como você pode restaurar os arquivos php ini e .so para sua configuração original

Estou trabalhando para atualizar minha VM para PHP7 e me deparei com alguns problemas, como: Aviso de PHP: inicialização do PHP: não é possível carregar a biblioteca dinâmica '/usr/lib64/php/modules/pdo.so' - /usr /lib64/php/modules/pdo.so: símbolo indefinido: zend_get_executed_scope em Desconhecido na linha 0

Quero baixar novamente esses arquivos. Como posso fazer isso?

Trabalhando no centos 7.

Responder1

O gerenciador de pacotes do CentOS 7 é yum, possui um subcomando whatprovidesque pode ser usado para descobrir a qual pacote um arquivo pertence. Por exemplo, você quer saber como reinstalar/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

Então, no meu sistema CentOS 7 eu faria

yum install php-pdo

Enxágue e repita conforme necessário.

Responder2

Você tem que reinstalar todos os pacotes php que instalou (geralmente é "php-*"). Para qualquer arquivo de configuração que seja diferente no RPM daquele que você possui, o RPM criará um arquivo ".rpmnew" e lançará um aviso ao executar a transação de instalação do pacote novamente. Você pode usar manualmente esses arquivos para substituir os quebrados (ou até mesmo usar uma ferramenta de comparação para descobrir o que você quer ou não).

Como observação lateral: tome cuidado se você tiver arquivos ini personalizados em /etc/php.d/. Yum não lançará nenhum aviso sobre isso. Você pode remover/renomear essa pasta antes de executar a reinstalação.

informação relacionada