如何將 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 文件,請小心。百勝不會對這些發出任何警告。您可以在執行重新安裝之前刪除/重新命名該資料夾。

相關內容