Как восстановить исходную конфигурацию файлов php ini и .so?

Как восстановить исходную конфигурацию файлов php ini и .so?

Я работаю над обновлением своей виртуальной машины до PHP7 и столкнулся с несколькими проблемами, такими как: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo.so' - /usr/lib64/php/modules/pdo.so: undefined symbol: zend_get_executed_scope in Unknown on line 0

Я хочу повторно скачать эти файлы. Как это сделать?

Работаю на 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" и выдаст предупреждение при запуске транзакции повторной установки пакета. Вы можете вручную использовать эти файлы для замены сломанных (или даже использовать инструмент сравнения, чтобы выяснить, что вам нужно, а что нет).

В качестве примечания: будьте осторожны, если у вас есть пользовательские ini-файлы в /etc/php.d/. Yum не выдаст никаких предупреждений о них. Вы можете удалить/переименовать эту папку перед запуском переустановки.

Связанный контент