当前位置: 首页 > 面试题库 >

无法找到套接字传输“ ssl”-在配置PHP时是否忘记启用它?

庄智
2023-03-14
问题内容

我花了很多小时来寻找该错误的解决方法。我已经尝试了这个主题的所有解决方案,但是没有运气。<? phpinfo();?>(我使用Appserver而不是IIS的唯一区别)它没有显示任何实现为SSL的内容。我还应该尝试什么?

完整的错误消息:

<b>Warning</b>:  fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport &quot;ssl&quot; - did you forget to enable it when you configured PHP?) in <b>C:\AppServ\www\webgitz\test\class.smtp.php</b> on line <b>122</b><br />
SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (27010016)

和代码:

<?php

require_once "validation.php";

require_once "PHPMailer.php";


require_once "class.smtp.php";

$email= "foo@gmamcil.com";

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth   = true; // enable SMTP authentication
$mail->Port       =465;                    // set the SMTP server port
$mail->Host = "smtp.gmail.com"; // GMAIL's SMTP server
$mail->SMTPDebug = 2;
$mail->SMTPSecure = 'ssl';
$mail->Username   = "xxxxxx@gmail.com"; // GMAIL username
$mail->Password   = "*********"; // GMAIL password
$mail->AddReplyTo("XXXXX@gmail.com","AAAA"); // Reply email address
$mail->From = "XXXX@gmail.com";
$mail->FromName = "...."; // Name to appear once the email is sent
$mail->Subject = "...."; // Email's subject
$mail->Body = "Hello World,<br />This is the HTML BODY<br />"; //HTML Body
$mail->AltBody = "..."; // optional, commentA out and test
$mail->WordWrap = 50; // set word wrap
$mail->MsgHTML($msg); // [optional] Send body email as HTML
$mail->AddAddress("$email", "fooo");  // email address of recipient
$mail->IsHTML(true); // [optional] send as HTML

if(!$mail->Send()) echo 'ok'; else echo 'error';    
?>

问题答案:

检查您的php.ini文件是否存在:

;extension=php_openssl.dll

更改为

extension=php_openssl.dll

之后,请记住使用Appserver提供的任何控制面板或使用系统控制面板上的服务窗口来重新启动Apache。

同样要确保php_openssl.dll在系统可以访问的文件夹中,许多人通过将其复制到C:\ windows或C:\ windows \
system32来解决dll位置问题。尽管那不是必须的。

之后,使用phpinfo执行文件并检查其是否已启用。

我在某处已读到,无法查明,有些安装了类似wamp的php.ini,但实际上只有一个在运行,可能是您编辑了错误的那个?



 类似资料:
  • 问题内容: 我在启用PHP中的套接字传输“ ssl”时遇到麻烦。运行脚本时,出现错误: 警告:fsockopen()[function.fsockopen]:无法连接到ssl://www.my.site.com:443(无法找到套接字传输“ ssl”-配置PHP时是否忘记启用它? ) 我正在Windows上运行IIS6,这是我到目前为止为使其正常工作所做的工作: 取消对php.ini中的php_o

  • 问题内容: 我正在创建一个Go TCP服务器(不是http / s),并且试图将其配置为使用SSL。我有一个StartCom免费SSL证书,正试图用来完成此任务。我的服务器代码如下: 我尝试切换证书的顺序,但不包括某些证书等,但是的输出基本上保持不变。有关完整输出,请参见此处。我对中间证书似乎做错了,但是我不知道该怎么办。我已经为此工作了几天,进行了大量的谷歌搜索和搜索,但似乎没有什么适合我的情况

  • 我使用的是ActiveMQ Artemis 2.18.0。首先,我用SSL配置了安装程序,artemis启动时没有错误,然后我想在没有SSL的情况下测试我的安装程序,我从和中删除了所有与SSL相关的设置,现在当我试图运行artemis时,我得到了以下结果: 不确定重写的是什么Jolokia属性。我是不是忘了做别的事了? : :

  • Hi想知道是否有办法设置套接字的超时,以及在连接握手之前重试的次数。我在非常糟糕的连接模式下测试了我的应用程序,我为我在Volley中的请求设置了重试策略为10秒,但SSL握手似乎是个问题,因为它有一个默认的超时设置为60秒,而Volley超时只被触发当套接字由于尝试次数或超时而失败时。 下面是我的方法: 我正在使用截击来提出我的请求,我实现这一点的方法是: 我还尝试设置了这样的超时:

  • 我有这个Python代码。它应该按原样工作——连接到远程服务器,发送数据包并检查响应的延迟。 编辑:在获得正确的IP地址后,上面的python代码工作并成功返回一个数据包。 编辑:PHP代码现在返回一个有效的套接字,在添加verify_peer_name之后。 现在我需要转换一些Python代码,使用pack()构建消息 以下是我到目前为止在将Python转换为PHP方面所做的工作: 我的问题是:

  • 问题内容: 如何创建SSL套接字连接? 我真的需要创建密钥库吗?该密钥库应该与我所有的客户端应用程序共享吗? 我用以下代码创建了一个服务器: 我用以下代码在android上创建了一个客户端: 但是当我尝试连接时,会引发以下错误: 问题答案: 您需要一个证书来建立ssl连接,您可以在密钥库中加载证书,也可以加载证书本身。我将显示一些有关keystore选项的示例。 您的代码需要一些参数才能运行: 您