PHP 7 FTP扩展未在Windows 7中加载


PHP 7 FTP extension is not loaded in Windows 7

我最近在Windows 7操作系统(32位)中安装了PHP 7。我使用FTP库nicolab/php-FTP客户端执行FTP函数,得到一个异常

致命错误:未捕获FtpClient''FtpException:FTP扩展不是已加载!在中

我看到了代码,有

if (!extension_loaded('ftp')) {
    throw new FtpException('FTP extension is not loaded!');
}

所以我通过php检查了加载的扩展

C:'Users'Tamil>php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
filter
gd
hash
iconv
intl
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
Reflection
session
SimpleXML
soap
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]

没有ftp扩展。但是在PHP站点http://php.net/manual/en/ftp.installation.php

Windows版本的PHP内置了对该扩展的支持。您不需要加载任何其他扩展即可使用这些功能。

我多次重新启动apache。仍显示FTP异常错误。你能指导我解决这个问题吗。

PHP版本为

C:'Users'Tamil>php -v
PHP 7.0.0 (cli) (built: Dec  3 2015 11:36:59) (ZTS ) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

在我的系统上进行的快速测试显示了相同的问题:

C:'>php -v
PHP 7.0.0 (cli) (built: Dec  3 2015 11:36:58) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    with Xdebug v2.4.0RC2, Copyright (c) 2002-2015, by Derick Rethans
C:'>php --ri ftp
Extension 'ftp' not present.

ext文件夹中查找会显示一个php_ftp.dll。在php.ini中启用此功能并重新运行以上操作会得到:

C:'>php --ri ftp
ftp
FTP support => enabled
FTPS support => enabled

所以,启用扩展,你就没事了。