如何将 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 文件,请小心。百胜不会对这些发出任何警告。您可以在运行重新安装之前删除/重命名该文件夹。

相关内容