phpinfo输出含FTP模块吗_查ftp扩展启用情况法【审模】

在 phpinfo() 页面搜索“ftp”,若显示“ftp support => enabled”则已启用;否则未启用,PHP 8.0+ 需手动安装或启用扩展。

phpinfo输出含ftp模块吗_查ftp扩展启用情况法【审模】

phpinfo() 页面里怎么确认 FTP 扩展已启用

直接看 phpinfo() 输出页,搜索 “ftp” 是最快的方式。如果页面中出现 ftp support 且值为 enabled,说明 FTP 扩展已加载;若完全搜不到 “ftp” 字样,或显示 ftp support => disabled,则扩展未启用。

注意:PHP 8.0+ 默认已移除 FTP 扩展,即使编译时带 --enable-ftp,也需手动启用(Linux 下常见于未装 php-ftp 包,Windows 下可能未取消 extension=php_ftp.dll 注释)。

命令行快速验证 ftp_* 函数是否可用

比起打开浏览器phpinfo(),用 CLI 更直接:

php -r "var_dump(function_exists('ftp_connect'));"

返回 bool(true) 表示可用;bool(false) 表示不可用。还可顺手测几个关键函数:

立即学习PHP免费学习笔记(深入)”;

UP简历

UP简历

基于AI技术的免费在线简历制作工具

下载

  • ftp_connect:建立连接(最基础)
  • ftp_login:认证(常因未启用而报 Call to undefined function ftp_login()
  • ftp_pasv:设置被动模式(部分环境依赖此函数才能列目录)

Linux 下检查 php.ini 是否加载了 ftp.so

FTP 扩展在 Linux 多以独立模块存在,不是内置。需确认两件事:

  • 扩展文件是否存在:ls /usr/lib/php/*/ftp.sofind /usr -name "ftp.so" 2>/dev/null
  • 对应 php.ini 是否启用了它:grep -i "extension.*ftp" /etc/php/*/cli/php.ini /etc/php/*/fpm/php.ini 2>/dev/null

常见错误配置:extension=ftp(缺 .so 后缀)、extension=php_ftp.so(实际文件名是 ftp.so)、或写在被注释掉的段落里(如 ;extension=ftp.so)。

Windows 下启用 ftp 扩展的典型路径

Windows 用户常卡在 php.ini 配置上。需做三件事:

  • 确认 php_ftp.dllext/ 目录下(PHP 安装路径下的 ext/php_ftp.dll
  • 取消 php.ini 中这行的注释:extension=php_ftp.dll
  • 确保 extension_dir 指向正确的 ext 路径,例如:extension_dir = "ext" 或绝对路径 extension_dir = "C:/php/ext"

改完必须重启 Web 服务(Apache/Nginx + PHP-FPM)或 CLI 环境才生效——很多人改了 ini 却没重启,导致 phpinfo()function_exists() 仍显示未启用。

https://www.php.cn/faq/1979939.html

发表回复

Your email address will not be published. Required fields are marked *