如何在 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
命令重新启动服务器一次。