首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP stream_socket_client不能在chrooted环境中工作

PHP stream_socket_client不能在chrooted环境中工作
EN

Stack Overflow用户
提问于 2018-06-22 20:35:54
回答 1查看 461关注 0票数 1

我尝试使用stream_socket_client()打开ssh连接,但得到:

代码语言:javascript
复制
Could not open socket: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
2018-06-22T13:07:35+02:00 EMERG (0): #0 [internal function]: Zend\Mail\Protocol\AbstractProtocol->Zend\Mail\Protocol\{closure}(2, 'stream_socket_c...', '/httpdocs/vendo...', 213, Array)
#1 /httpdocs/vendor/zendframework/zend-mail/src/Protocol/AbstractProtocol.php(213): stream_socket_client('ssl://lotsearch...', 0, '', 30)
#2 /httpdocs/vendor/zendframework/zend-mail/src/Protocol/Smtp.php(185): Zend\Mail\Protocol\AbstractProtocol->_connect('ssl://lotsearch...')
#3 /httpdocs/vendor/zendframework/zend-mail/src/Transport/Smtp.php(397): Zend\Mail\Protocol\Smtp->connect()
#4 /httpdocs/vendor/zendframework/zend-mail/src/Transport/Smtp.php(383): Zend\Mail\Transport\Smtp->connect()
#5 /httpdocs/vendor/zendframework/zend-mail/src/Transport/Smtp.php(394): Zend\Mail\Transport\Smtp->lazyLoadConnection()
#6 /httpdocs/vendor/zendframework/zend-mail/src/Transport/Smtp.php(251): Zend\Mail\Transport\Smtp->connect()

我在chrooted环境中执行这个命令。如果我使用“正常”的bash作为shell,一切都会正常工作。起初,我认为chrooted用户需要访问openssh二进制文件。但是,即使可以访问它,它也不起作用。

顺便说一句,wget https://google.com也不能工作。

有没有想过如何让ssl证书验证在chrooted环境中工作?

EN

回答 1

Stack Overflow用户

发布于 2018-06-25 23:59:15

好吧,我想通了:

您需要使以下内容在chrooted环境中可用:

代码语言:javascript
复制
/usr/bin/openssl
/usr/lib/ssl
/etc/ssl
/usr/share/ca-certificates

然后,PHP函数就能够对证书进行stream_socket_client()验证。Wget现在也在为SSL安全的网站wget https://google.com工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50988086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档