簡體   English   中英

致命錯誤:調用未定義的函數 ftp_ssl_connect()

[英]Fatal error: Call to undefined function ftp_ssl_connect()

我正在嘗試在 PHP 中設置 FTP SSL 連接。 我已經很好地使用了ftp_connect()並且效果很好。 一旦我嘗試使用ftp_ssl_connect() ,我就會收到此錯誤:

致命錯誤:調用未定義的函數 ftp_ssl_connect()

我確實在 PHP 擴展中打開了 openssl 擴展。 我不確定還有什么可做的,因為在 google 上搜索我找不到任何可以使此函數調用工作的方法。 有誰知道我什么時候缺少什么或檢查是否需要在我的 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_ssl_connect()是一個未定義的函數。

來自PHP 文檔

注意:為什么這個函數可能不存在 ftp_ssl_connect() 僅當 ftp 模塊和 OpenSSL 支持靜態構建到 php 中時才可用,這意味着在 Windows 上,這個函數將在官方 PHP 構建中未定義。 要在 Windows 上使用此功能,您必須編譯自己的 PHP 二進制文件。

注意: ftp_ssl_connect()不適用於 sFTP 要在 PHP 中使用 sFTP,請參閱ssh2_sftp()

(順便說一句:我不使用 Windows,但我無法訪問ftp_ssl_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

完畢!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM