我在php中有一个需要使用ftp_ssl_connect连接到ftp的函数。我使用Windows 7并根据谷歌的答案我需要重建PHP以包括ssl函数。现在我的问题是否有办法在Windows上启用ssl而无需重建php?或者是否有一个不可加载的版本,其中ssl已包含在Windows中?
感谢
答案 0 :(得分:0)
来自PHP doc:
注意:为什么此功能可能不存在
ftp_ssl_connect()仅在ftp模块和 OpenSSL支持静态内置到php中,这意味着就可以了 Windows这个函数将在官方PHP版本中未定义。至 在Windows上提供此功能,您必须编译自己的PHP 二进制文件强>
强调我的。
但是,我已经从官方php.net下载了用于Windows的PHP二进制文件,我注意到有一个特定的DLL(ext / php_openssl.dll)用于openssl。这意味着可能没有必要重建PHP以获得openssl工作。请记住在php.ini文件中为dll添加一个条目。 它应该是这样的:
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
...
extension=php_openssl.dll
注意强>
我还没有测试过上述情况。
答案 1 :(得分:0)
从PHP 7.0开始,Windows上的核心FTP扩展默认使用OpenSSL支持构建。在早期的PHP版本中,虽然可以支持SSL,但由于各种原因,它不提供标准版本。 PHP 5的唯一解决方案是自定义构建PHP,而在windows.php.net上构建标准PHP 7.0则提供ftp_ssl_connect()函数。
感谢。