如何在 Amazon Linux 2023 上安裝 PHP-Zip 模塊
PHP-Zip模塊或擴展是用於處理ZIP歸檔文件和應用程序內文件的基於PHP的Web應用程序所必需的。如果您正在開發涉及文件壓縮和解壓的Web項目,您必須安裝PHP-Zip模塊,否則您的應用程序將無法正常工作。
儘管安裝PHP-ZIP擴展通常很容易,並且通常可以通過Linux的默認系統軟體庫進行安裝,但在Amazon Linux 2023上不是這樣。這就是為什麼我們需要為那些在獲取ZIP擴展時遇到問題的人編寫本教程的原因。
先決條件
只需要訪問具有管理員許可權的Amazon Linux 2023實例。
步驟1:SSH登錄您的Amazon Linux實例
打開終端,建立與Amazon Linux實例的SSH連接,或直接從AWS Ec2或Lightsail實例儀錶板連接到它。
步驟2:運行DNF更新
雖然這不是必需的,但如果您已經有一段時間沒有更新系統,請運行以下命令。它將刷新軟體包管理器緩存。
sudo dnf update
步驟3:安裝PHP dev包和其他依賴項
在編寫本文時,我們沒有Amazon Linux 2023系統軟體庫中直接安裝PHP-zip擴展的選項,因此我們將使用PECL進行安裝,PECL是PHP擴展的存儲庫。為此,我們需要以下命令中列出的軟體包:
sudo dnf install php-devel php-pear libzip libzip-devel
步驟4:在Amazon Linux 2023上安裝PHP-ZIP
完成上述教程中的先前命令並獲取PECL後,我們可以使用它來安裝PHP的ZIP擴展。在終端上運行以下命令:
sudo pecl install zip
步驟5:啟用php-zip擴展
該模塊將安裝在/usr/lib64/php8.2/modules
下。注意:如果要檢查,請將php8.2替換為您當前系統上的PHP版本。現在,要啟用它,請為該模塊創建一個INI文件,下面是執行此操作的命令:
echo "extension=zip.so" | sudo tee /etc/php.d/20-zip.ini
步驟6:重啟Apache和PHP-FPM
為了應用您所做的更改並使ZIP擴展能夠被您的Web應用程序發現,請重新啟動Amazon Linux上的HTTPD和PHP-FPM服務:
sudo systemctl restart httpd
sudo systemctl restart php-fpm
步驟7:驗證安裝
有多種方法可以驗證我們安裝的擴展是否已啟用供基於PHP的應用程序使用,下面是其中幾種方法:
方法1:使用PHP命令:
php -m
您將看到系統上安裝的PHP擴展列表。
方法2:使用簡單的PHP腳本
使用文本編輯器創建一個新的PHP文件。例如:
nano test_zip.php
將以下代碼添加到test_zip.php文件中:
<?php
if (extension_loaded('zip')) {
echo "PHP-Zip模塊已安裝並啟用。\n";
} else {
echo "PHP-Zip模塊未安裝。\n";
}
?>
按下Ctrl+X保存文件,輸入Y並按Enter退出文本編輯器。
使用以下命令運行PHP腳本:
php test_zip.php
如果PHP-Zip模塊已安裝並啟用,您將看到消息:「PHP-Zip模塊已安裝並啟用」。
方法3:使用phpinfo()文件:
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
在您的瀏覽器中,使用您的伺服器IP地址或域名指向創建的文件:
http://your-server-ip-address/phpinfo.php
您將獲得有關已安裝的PHP以及所有擴展的完整信息。
注意:如果在安裝和啟用Amazon Linux 2023上的PHP ZIP擴展後,您的Web應用程序仍然無法檢測到它,請使用sudo reboot
命令重新啟動伺服器一次。