Fatal error: Call to undefined function ftp_ssl_co

2019-02-28 12:48发布

问题:

I am trying to set up FTP SSL connection in PHP. I have used ftp_connect() fine and works great. As soon as I try to use ftp_ssl_connect(), I get this error:

Fatal error: Call to undefined function ftp_ssl_connect()

I do have openssl extension turned on in PHP extentions. I am not sure what else there is to do as searching google there is nothing that I can find to do to make this function call work. Does anyone know when what I am missing or to check to see if something else needs to be installed on my wampserver?

Here is my php code I am using:

$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"; 
}

It obviously doesn't get past the first line because of saying that ftp_ssl_connect() is an undefined function.

回答1:

From PHP Documentation:

Note: Why this function may not exist ftp_ssl_connect() is only available if both the ftp module and the OpenSSL support is built statically into php, this means that on Windows this function will be undefined in the official PHP builds. To make this function available on Windows you must compile your own PHP binaries.

Note: ftp_ssl_connect() is not intended for use with sFTP. To use sFTP with PHP, please see ssh2_sftp().

(BTW: I don't use Windows but I can't access to ftp_ssl_connect())



标签: php ftp