美文网首页
PHP7缺少ssl库的问题

PHP7缺少ssl库的问题

作者: Kair | 来源:发表于2016-05-11 17:51 被阅读928次

    遇到问题的起因是因为我需要发送邮件,但是邮件需要通过ssl。
    当我运行的时候,laravel提示

     [Swift_TransportException]                                                   
      Connection could not be established with host smtp.exmail.qq.com [Unable to  
       find the socket transport "ssl" - did you forget to enable it when you con  
      figured PHP? #0]   
    

    这个问题就是php缺少的ssl库没办法使用,解决的方法其实也不难。
    最简单的就是直接重新编译php7,加上--enable-openssl参数,但是不想重新编译怎么办,很简单,我们只要拿到openssl.so的扩展就好了。

    1. 首先从php7的官网下载php7
    2. 解压并进入文件夹cd php7.0/ext/openssl
    3. 运行phpize,如果命令无效,请用whereis phpize找到phpize的地址,用绝对地址运行即可
    4. 运行./configure --with-openssl --with-php-config=/path/to/php-config 这里请注意后面的--with-php-config参数,你需要找到自己环境的php-config,同理,用whereis php-config查找一下。
    5. 运行make && make install,会显示编译出来后so文件放置的地方,直接进入这个目录。
    6. 运行cp openssl.so /path/to/phpext。这里你需要把文件复制到php的扩展目录里面,扩展目录在php.ini里面的extension_dir这个设置对应的地址,假设你甚至不知道php.ini在哪里,你可以直接运行php -i,在load ini那一项,你就可以看到php.ini的地址。

    至此,此问题完全解决。注意,其他版本的php也是同理,没有必要只为了一个库就重新编译整个php。

    相关文章

      网友评论

          本文标题:PHP7缺少ssl库的问题

          本文链接:https://www.haomeiwen.com/subject/vasurttx.html