Php 致命错误:调用未定义的函数ftp\u ssl\u connect()

Php 致命错误:调用未定义的函数ftp\u ssl\u connect(),php,ftp,Php,Ftp,我正在尝试在PHP中设置FTP SSL连接。我使用了ftp\u connect()很好,效果很好。当我尝试使用ftp\u ssl\u connect()时,出现以下错误: 致命错误:调用未定义的函数ftp\u ssl\u connect() 我确实在PHP扩展中启用了openssl扩展。我不知道还有什么可以做,因为搜索谷歌我找不到任何可以让这个函数调用工作的方法。是否有人知道我什么时候丢失了什么,或者是否需要检查我的wampserver上是否需要安装其他东西 以下是我正在使用的php代码: $c

我正在尝试在PHP中设置FTP SSL连接。我使用了
ftp\u connect()
很好,效果很好。当我尝试使用
ftp\u ssl\u connect()
时,出现以下错误:

致命错误:调用未定义的函数ftp\u ssl\u connect()

我确实在PHP扩展中启用了openssl扩展。我不知道还有什么可以做,因为搜索谷歌我找不到任何可以让这个函数调用工作的方法。是否有人知道我什么时候丢失了什么,或者是否需要检查我的wampserver上是否需要安装其他东西

以下是我正在使用的php代码:

$conn_id = ftp_ssl_connect($ftp_server); 
$ftp_user_name = "username"; 
$ftp_user_pass = "password"; 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

ftp_pasv($conn_id, true); 
if ((!$conn_id) || (!$login_result)) { 
    echo "FTP connection has failed!"; 
    echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
    exit; 
} else { 
    echo "Connected to $ftp_server, for user $ftp_user_name"; 
}
它显然没有越过第一行,因为它说
ftp\u ssl\u connect()
是一个未定义的函数

来自:

注意:为什么这个函数可能不存在 ftp_ssl_connect()仅在ftp模块和OpenSSL支持都静态构建到php中时才可用,这意味着在Windows上,此函数将在正式php构建中未定义。要使此函数在Windows上可用,必须编译自己的PHP二进制文件

注: ftp\u ssl\u connect()不适用于sFTP。要将sFTP与PHP结合使用,请参阅

(顺便说一句:我不使用Windows,但无法从以下位置访问
ftp\u ssl\u connect()

注意:为什么这个函数可能不存在 ftp_ssl_connect()仅在ftp模块和OpenSSL支持都静态构建到php中时才可用,这意味着在Windows上,此函数将在正式php构建中未定义。要使此函数在Windows上可用,必须编译自己的PHP二进制文件

注: ftp\u ssl\u connect()不适用于sFTP。要将sFTP与PHP结合使用,请参阅

(顺便说一句:我不使用Windows,但无法访问
ftp\u ssl\u connect()

PHP7.1.12 CentOS

我自己构建php

/usr/local/php71/bin/php -r "ftp_ssl_connect('server1.example.com');"

PHP Fatal error:  Uncaught Error: Call to undefined function ftp_ssl_connect() in Command line code:1
决心:

# /root/php-7.1.12/ is php source dir
cd /root/php-7.1.12/ext/ftp/

# /usr/local/php71/ is php dir
/usr/local/php71/bin/phpize

# the param --with-openssl-dir is very important
./configure --with-php-config=/usr/local/php71/bin/php-config --with-openssl-dir

make
make install

vim /usr/local/php71/lib/php.ini
# add last line
extension=ftp.so

service php-fpm reload
检查:

# method 1
/usr/local/php71/bin/php -r "phpinfo();" | grep FTP

FTP support => enabled
FTPS support => enabled

# method 2
/usr/local/php71/bin/php -r "ftp_ssl_connect('server1.example.com');"

PHP Warning:  ftp_ssl_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in Command line code on line 1
完成了

PHP7.1.12世纪

我自己构建php

/usr/local/php71/bin/php -r "ftp_ssl_connect('server1.example.com');"

PHP Fatal error:  Uncaught Error: Call to undefined function ftp_ssl_connect() in Command line code:1
决心:

# /root/php-7.1.12/ is php source dir
cd /root/php-7.1.12/ext/ftp/

# /usr/local/php71/ is php dir
/usr/local/php71/bin/phpize

# the param --with-openssl-dir is very important
./configure --with-php-config=/usr/local/php71/bin/php-config --with-openssl-dir

make
make install

vim /usr/local/php71/lib/php.ini
# add last line
extension=ftp.so

service php-fpm reload
检查:

# method 1
/usr/local/php71/bin/php -r "phpinfo();" | grep FTP

FTP support => enabled
FTPS support => enabled

# method 2
/usr/local/php71/bin/php -r "ftp_ssl_connect('server1.example.com');"

PHP Warning:  ftp_ssl_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in Command line code on line 1

完成了

好的,我要试试这个。好的,我要试试这个。