我有一个需要使用ftp_ssl_connect连接到ftp的php函数。 Iam使用Windows 7和根据谷歌的答案我需要重建PHP以包括SSL功能。现在我的问题是否有一种方法可以在Windows上启用ssl而无需重建php?还是有一个不可装载的版本,其中ssl已包含在Windows中?在Windows上的PHP open_ssl,ftp_ssl_connect
感谢
我有一个需要使用ftp_ssl_connect连接到ftp的php函数。 Iam使用Windows 7和根据谷歌的答案我需要重建PHP以包括SSL功能。现在我的问题是否有一种方法可以在Windows上启用ssl而无需重建php?还是有一个不可装载的版本,其中ssl已包含在Windows中?在Windows上的PHP open_ssl,ftp_ssl_connect
感谢
从PHP doc:
注:为什么此功能可能不存在
ftp_ssl_connect()仅可如果FTP模块和 OpenSSL的支持都为静态构建到php中,这意味着在 Windows上这个函数将是在官方PHP版本中未定义。若要 使此功能在Windows上可用,您必须编译自己的PHP 二进制文件。
强调我的。
不过,我已经下载PHP二进制文件从官方php.net的窗户,我注意到有OpenSSL的一个特定的DLL(EXT/php_openssl.dll)。这意味着也许没有必要重建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
注意
我没有测试过上述情况。
不,'ftp_ssl_connect()'仍然不可用,因为SSL不是静态构建的(你甚至可以自己加载DLL)。 –
从PHP 7.0开始,Windows上的核心FTP扩展默认使用OpenSSL支持构建。在较早的PHP版本中,虽然可以使用SSL支持,但由于各种原因,不提供标准版本。 PHP 5的唯一解决方案是自定义构建PHP,而在windows.php.net上构建的标准PHP 7.0提供了ftp_ssl_connect()函数。
谢谢。
我已经下载了最新版本,仍然收到错误。 –
哪一个确切的错误? php_ftp.dll是否通过php.ini加载? –
在Windows上编译PHP是你不希望的最糟糕的敌人。有很多WAMP软件包可以试用(我恐怕这不是获得建议的地方)。也许最好只使用另一个功能 - 当然,这取决于您的确切需求。 –