115 lines
2.4 KiB
Bash
Executable File
115 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 测试PHP扩展安装脚本
|
||
echo "🔍 测试PHP扩展安装..."
|
||
|
||
# 构建镜像
|
||
echo "📦 构建Docker镜像..."
|
||
docker build -t common-nginx-fpm:test . || {
|
||
echo "❌ 镜像构建失败"
|
||
exit 1
|
||
}
|
||
|
||
echo "✅ 镜像构建成功"
|
||
|
||
# 运行容器并测试扩展
|
||
echo "🧪 测试PHP扩展..."
|
||
docker run --rm common-nginx-fpm:test php -m > /tmp/php_modules.txt
|
||
|
||
echo "📋 已安装的PHP扩展:"
|
||
cat /tmp/php_modules.txt
|
||
|
||
echo ""
|
||
echo "🔍 检查关键扩展:"
|
||
|
||
# 检查关键扩展
|
||
extensions=(
|
||
"bcmath"
|
||
"bz2"
|
||
"curl"
|
||
"dom"
|
||
"exif"
|
||
"fileinfo"
|
||
"ftp"
|
||
"gd"
|
||
"gettext"
|
||
"iconv"
|
||
"ldap"
|
||
"mbstring"
|
||
"mysqli"
|
||
"opcache"
|
||
"pcntl"
|
||
"pdo"
|
||
"pdo_mysql"
|
||
"pdo_pgsql"
|
||
"pdo_sqlite"
|
||
"pgsql"
|
||
"posix"
|
||
"redis"
|
||
"shmop"
|
||
"simplexml"
|
||
"soap"
|
||
"sockets"
|
||
"sqlite3"
|
||
"xml"
|
||
"xmlreader"
|
||
"xmlwriter"
|
||
"xsl"
|
||
"zip"
|
||
)
|
||
|
||
missing_extensions=()
|
||
|
||
for ext in "${extensions[@]}"; do
|
||
# 特殊处理一些扩展名称的变体
|
||
case $ext in
|
||
"opcache")
|
||
if grep -q "^Zend OPcache$" /tmp/php_modules.txt; then
|
||
echo "✅ $ext"
|
||
else
|
||
echo "❌ $ext (缺失)"
|
||
missing_extensions+=("$ext")
|
||
fi
|
||
;;
|
||
"pdo")
|
||
if grep -q "^PDO$" /tmp/php_modules.txt; then
|
||
echo "✅ $ext"
|
||
else
|
||
echo "❌ $ext (缺失)"
|
||
missing_extensions+=("$ext")
|
||
fi
|
||
;;
|
||
"simplexml")
|
||
if grep -q "^SimpleXML$" /tmp/php_modules.txt; then
|
||
echo "✅ $ext"
|
||
else
|
||
echo "❌ $ext (缺失)"
|
||
missing_extensions+=("$ext")
|
||
fi
|
||
;;
|
||
*)
|
||
if grep -q "^$ext$" /tmp/php_modules.txt; then
|
||
echo "✅ $ext"
|
||
else
|
||
echo "❌ $ext (缺失)"
|
||
missing_extensions+=("$ext")
|
||
fi
|
||
;;
|
||
esac
|
||
done
|
||
|
||
if [ ${#missing_extensions[@]} -eq 0 ]; then
|
||
echo ""
|
||
echo "🎉 所有扩展安装成功!"
|
||
else
|
||
echo ""
|
||
echo "⚠️ 缺失的扩展: ${missing_extensions[*]}"
|
||
fi
|
||
|
||
# 清理临时文件
|
||
rm -f /tmp/php_modules.txt
|
||
|
||
echo ""
|
||
echo "📊 镜像信息:"
|
||
docker images common-nginx-fpm:test --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}"
|