gpt4 book ai didi

php - synology php ftp_ssl_connect - 调用未定义的函数

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:13 27 4
gpt4 key购买 nike

第一次在这里提问,请轻点:-)

我正在 Synology box 上编写 PHP 命令行脚本以通过 ftps 获取文件,并从这一点开始:

$ftp = ftp_ssl_connect("ftp.example.com");

当从命令行运行时,我得到

Fatal error: Call to undefined function ftp_ssl_connect() in ...

phpinfo() 告诉我:

...
Registered PHP Streams => php, file, glob, data, http, ftp, https, ftps, zip, compress.zlib, compress.bzip2
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
...
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1p-fips 9 Jul 2015
OpenSSL Header Version => OpenSSL 1.0.1p-fips 9 Jul 2015

/etc/php/conf.d/extensions.ini包含extension = openssl.so(没有初始;)

在我看来,ftp_ssl_connect() 的所有先决条件都已准备就绪。

首先:

$ uname -a
Linux DiskStation01 2.6.32.12 #5644 Wed Oct 28 12:36:45 CST 2015 armv5tel GNU/Linux synology_88f6282_213

下一个要看的地方是什么?

最佳答案

键入php -m 以查看编译的模块,如PHP does not ship the FTP extension by default if not on Windows .调用 phpinfo() 还应该显示使用的编译器开关,以及它们是否包括 --enable-ftp

奇怪的是我刚刚在我的 RS812 上试过这个,它显示了 FTP 和 OpenSSL moodules,并且工作正常:

nas-name> php -r "ftp_ssl_connect('test');"
PHP Warning: ftp_ssl_connect(): php_network_getaddresses: gethostbyname failed
in Command line code on line 1

这表明 ftp_ssl_connect 正在工作但无法解析提供的主机名。除非您自己编译 PHP,否则我不知道为什么您的会有所不同。

关于php - synology php ftp_ssl_connect - 调用未定义的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34935997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com