openSSL 不适用于 PHP 内置网络服务器
操作系统: Ubuntu 12.04 64 位
OS: Ubuntu 12.04 64-bit
PHP 版本: 5.4.6-2~precise+1
PHP version: 5.4.6-2~precise+1
当我通过内置网络服务器 (php5 -S localhost:8000) 测试 https 页面时,Firefox (16.0.1) 说加载问题:连接中断",而终端告诉我"::1:37026 请求无效(不支持的 SSL 请求)".
When I test an https page I am writing through the built-in webserver (php5 -S localhost:8000), Firefox (16.0.1) says "Problem loading: The connection was interrupted", while the terminal tells me "::1:37026 Invalid request (Unsupported SSL request)".
phpinfo() 告诉我:
- 注册流套接字传输:tcp、udp、unix、udg、ssl、sslv3、tls
- [curl] SSL:是的
- SSL 版本:OpenSSL/1.0.1
openssl:
- Registered Stream Socket Transports: tcp, udp, unix, udg, ssl, sslv3, tls
- [curl] SSL: Yes
- SSL Version: OpenSSL/1.0.1
openssl:
OpenSSL 支持:已启用
OpenSSL support: enabled
OpenSSL 库版本 OpenSSL 1.0.1 2012 年 3 月 14 日
OpenSSL Library Version OpenSSL 1.0.1 14 Mar 2012
OpenSSL 标头版本 OpenSSL 1.0.1 2012 年 3 月 14 日
OpenSSL Header Version OpenSSL 1.0.1 14 Mar 2012
是的,http 页面工作正常.
Yes, http pages work just fine.
有什么想法吗?
推荐答案
请参阅有关内置网络服务器 shim 的手册部分:
http://php.net/manual/en/features.commandline.webserver.php
See the manual section on the built-in webserver shim:
http://php.net/manual/en/features.commandline.webserver.php
它不支持 SSL 加密.它用于普通的 HTTP 请求.openssl
扩展和功能支持无关.它不接受请求或通过流包装器发送响应.
It doesn't support SSL encryption. It's for plain HTTP requests. The openssl
extension and function support is unrelated. It does not accept requests or send responses over the stream wrappers.
如果您希望 SSL 在其上运行,请尝试使用 stunnel
包装器:
If you want SSL to run over it, try a stunnel
wrapper:
php -S localhost:8000 &
stunnel3 -d 443 -r 8080
反正只是用来玩玩的.
相关文章