如何在群晖DSM 7.x环境下为Web Station启用PHP的HTTPS流包装器
如何在群晖DSM 7.x环境下为Web Station启用PHP的HTTPS流包装器
嘿,我之前刚好碰到过和你一模一样的问题!你完全不用给群晖的Web服务搞SSL证书——毕竟你只是需要PHP能发起HTTPS请求到第三方站点,不是要自己的内网站点对外用HTTPS,核心就是开启PHP的openssl扩展就行,给你一步步说怎么操作:
- 打开群晖DSM的控制面板,直接搜索或者在「应用程序」分类里找到Web Station,进入后切换到「脚本语言设置」标签页。
- 在这个页面里找到你当前站点正在使用的PHP版本(一定要对应上,比如你站点配的是PHP 8.1,就找这个版本),点击它右侧的编辑按钮(小铅笔图标)。
- 在弹出的PHP配置窗口里,切到「扩展」标签页,往下滚动找到
openssl选项,把它的勾选框打上√。 - 点击窗口底部的「应用」保存设置,接着去Web Station的「概览」标签页重启一下Web服务,或者直接在DSM控制面板的「服务」里重启Web服务也行。
- 最后验证一下:在你的网站目录里新建一个
phpinfo.php,内容写<?php phpinfo(); ?>,访问这个页面后搜索「Registered PHP Streams」,就能看到https、ftps这些流包装器已经出现在列表里了,这时候再运行你的file_get_contents($url)代码就不会报错了。
补充一句:群晖默认的PHP配置里是关闭openssl扩展的,而HTTPS流包装器(也就是https://协议的支持)完全依赖这个扩展,和你自己的站点有没有SSL证书半毛钱关系都没有,所以别被网上那些教你申请证书的教程带偏啦!如果用的是Web Station自带的官方PHP版本,这个方法100%管用~




