从昨晚开始,我的几个使用file_get_contents("https://...")和curl运行的脚本(在不同的服务器上)停止工作。
失败的请求示例:
file_get_contents("https://domain.tld/script.php");
Run Code Online (Sandbox Code Playgroud)
错误:
PHP Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in /home/domain/public_html/script.php on line 19
Run Code Online (Sandbox Code Playgroud)
我已经使用以下方法“修复”了该问题:
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
file_get_contents("https://domain.tld/path/script.php", false, stream_context_create($arrContextOptions));
Run Code Online (Sandbox Code Playgroud)
“修复”远非理想,因为我没有验证连接的真实性,但在我了解问题的根源以及如何防止它再次发生之前,我将被迫使用它。
注意事项:
Curl也停止工作,修复方法类似:
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);;SSL由昨晚颁发Let's Encrypt并更新(“ 2020/12/24 之前无效”);CentOS 7/Ubuntu 18和Virtualmin;"https://domain.tld/script.php"在 Firefox/Chrome 上打开,则不会显示 SSL 警告,并且证书有效; …我遇到的问题是,我可以进入登录页面(在子域中)的唯一方法是当我为该记录关闭 cloudflare 时,当我打开 Cloudflare 时,它从不显示任何内容,一段时间后只显示ERR_CONNECTION_TIMED_OUT 错误。¿你能指出我正确的方向吗?
我在 centos 7 上运行 Virtuamin,我无法在 php 7.4 上安装 ziparchive,但是当我切换到 php 7.2 时,它可以工作。我需要 php 7.4 才能工作,因为它更快,而 wordpress 脚本需要 7.3+ 才能有效工作。
我在我的服务器上安装了 Virtualmin,当时我还没有域名。但现在我知道了,如何将 Virtualmin 配置为通过从另一台服务器管理的域名进行访问。
我可以简单地使用反向代理将ip映射到Apache中的新域名吗?
我正在尝试apt-get update在我的 virtualmin (debian) 上运行,但它因某些软件包而失败 (packages.sury.org)
然后我用以下命令检查包裹:
curl --verbose -SLO https://packages.sury.org/php/pool/main/p/pcre3/libpcre3_8.41-1+0~20170825202309.5+jessie~1.gbp97d153_amd64.deb
Run Code Online (Sandbox Code Playgroud)
它抛出:
HTTP/1.1 403 Forbidden
< Date: Thu, 14 May 2020 00:37:49 GMT
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 16
< Connection: keep-alive
< Set-Cookie: __cfduid=df716884f5fd8ee4d658ae79b60f1589416669; expires=Sat, 13-Jun-20 00:37:49 GMT; path=/; domain=.sury.org; HttpOnly; SameSite=Lax; Secure
< Cache-Control: max-age=15
< Expires: Thu, 14 May 2020 00:38:04 GMT
< Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
* Server cloudflare is not blacklisted
< Server: cloudflare
< CF-RAY: 59308d88e98bcd8f-CDG
< alt-svc: h3-27=":443"; ma=86400, h3-25=":443"; ma=86400, …Run Code Online (Sandbox Code Playgroud) 我已经尝试了很多次让 php 5.6 在 ubuntu 16.04 上运行
尝试浏览 http://domain.com/phpinfo.php 以检查哪个版本的 php 处于活动状态时,我不断收到服务器错误 500(服务器也有 7.0、7.1 和 7.2)
尝试运行 php 7.1 时我也有同样的错误(7.0 和 7.2 工作没有问题,我的网站在 virtualmin 服务器上运行。
我在这里查看了有关此类事情的各种答案,但老实说,答案往往如此破碎和不同,我找不到可靠且有效的单一程序。
有人帮忙解决这个问题吗?
例如,下面的 ispconfig 3 教程,在 /opt 目录中安装 php5.6,是否可以与 virtualmin 一起使用?( https://www.howtoforge.com/tutorial/how-to-install-php-5-6-on-ubuntu-16-04/ )
我的假设是上面的教程会起作用,我只需要告诉 virtualmin php 5.6 二进制文件在 /opt/? (见这个线程... https://www.virtualmin.com/node/40004)
virtualmin ×6
apache ×2
webmin ×2
apt-get ×1
cloudflare ×1
curl ×1
debian ×1
ip ×1
linux ×1
nginx ×1
php ×1
php-5.6 ×1
php-7.4 ×1
ssl ×1
ubuntu-16.04 ×1