Php fsockopen ssl连接不工作
我正在尝试在smtp服务器上使用php函数fsockopen,在apache本地服务器的端口465上使用ssl。 它与php命令行配合得很好,但是当脚本在我的浏览器中运行时,我遇到了一个SSL错误 php.iniPhp fsockopen ssl连接不工作,php,openssl,fsockopen,Php,Openssl,Fsockopen,我正在尝试在smtp服务器上使用php函数fsockopen,在apache本地服务器的端口465上使用ssl。 它与php命令行配合得很好,但是当脚本在我的浏览器中运行时,我遇到了一个SSL错误 php.ini extension=php\u openssl.dll行未注释 phpinfo通过Apache 加载的配置文件:D:\localhost\php-5.4.11\php.ini openssl 已启用OpenSSL支持 OpenSSL库版本OpenSSL 0.9.8x 2012年5月1
extension=php\u openssl.dll行未注释
phpinfo通过Apache
加载的配置文件:D:\localhost\php-5.4.11\php.ini
openssl
已启用OpenSSL支持
OpenSSL库版本OpenSSL 0.9.8x 2012年5月10日
OpenSSL标头版本OpenSSL 0.9.8x 2012年5月10日
带命令行的phpinfo
Loaded配置文件=>D:\localhost\php-5.4.11\php.ini
openssl
OpenSSL支持=>已启用
OpenSSL库版本=>OpenSSL 0.9.8x 2012年5月10日
OpenSSL头版本=>OpenSSL 0.9.8x 2012年5月10日
我的剧本
$smtp=fsockopen('ssl://in.mailjet.com“,465,$errno,$errstr,30);
$response=fgets($smtp,4096);
如果(空($smtp)){
回音$应答;
返回false;
}
回音$response
;
fclose(smtp美元);
apache下的输出
警告:fsockopen():SSL:第2行XXX中的加密启用超时
警告:fsockopen():无法在第2行的XXX中启用加密
警告:fsockopen():无法连接到ssl://in.mailjet.com:465 第2行XXX中的(未知错误)
使用命令行输出
220 srv12.mailjet.com ESMTP mailjet
平台:我在Windows864上使用PHP5.4.11/Apache2.2.22(Win32)
--编辑--
我已尝试按照建议使用TLS:
$smtp=fsockopen('tls://in.mailjet.com“,567,$errno,$errstr,30);
我得到
E_警告:fsockopen():在第XXX行的XXX中
错误消息为空,并且
$errno=(int)0
和$errstr=(string)'
我将Apache版本从2.2更新为2.4,现在可以运行了
我遵循了本教程:获取新的Apache版本。我在使用captcha的联系人表单中遇到了类似的问题,因此出现了错误
fsockopen():无法连接到ssl://mail.google.com:443
这是一个安装了Joomla的FreeBSD虚拟机
搜索时,我找到了提到证书验证的内容
安装了FreeBSD端口
ca_root\u nss
,其中包括对来自Mozilla nss库中的证书颁发机构的根证书进行证书验证。您可能希望使用类似库的方法,而不是滚动您自己的SMTP客户端。但是,请尝试使用tls://
包装而不是ssl://
。如果不起作用,请尝试使用tcp://
包装器进行连接,并使用stream\u socket\u enable\u crypto()
在流上手动启用加密。错误消息表示发生了超时-启动脚本后多长时间会收到错误消息(即超时多长?)我尝试了以下方法:code
fsockopen('tls://in.mailjet.com“,567,$errno,$errstr,30)<代码>代码我收到了E_警告:fsockopen():在XXX行的XXX中,您收到了一条空白的错误消息?@DaveRandom超时时间为30秒,如fsockopen的第5个参数中指定的。由于CLI版本中的脚本速度很快,我将其缩短为5秒,并且在刷新浏览器中的页面大约5秒后出现错误。我用tcp://包装器试试你的提示,然后拿着它回来feedbacks@DaveRandom是的,我收到一条空白的错误消息,这让人困惑。参数3和4返回:$errno=(int)0和$errstr=(string)'