将我的服务器升级到PHP 7后,在当前版本8.1.1中运行ownCloud时出现了几个错误。
我试图弄清问题是什么,然后我来到Sabre lib的Sapi.php
。
我写了一个非常小的测试脚本来隔离错误。在使用PROPFIND请求运行以下代码时,我在日志中看到错误,并且我没有从php://输入中获得任何输出。
<?php
fopen("php://input", 'r+');
echo "Done";
?>
请求使用cURL:
curl -i -X PROPFIND https://cloud.example.com/readv-demo.php -d 'Demo'
nginx错误日志出错:
*285599 readv() failed (104: Connection reset by peer) while reading upstream, client: 5.35.252.37, server: cloud.example.com, request: "PROPFIND /readv-demo.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "cloud.example.com"
服务器使用PHP 5.6就像一个魅力,我试图运行PHP 7而不做任何修改。服务器端的一切都很好,但这个错误。
我还尝试了解决readv()
错误的建议并修改了以下几个设置:
max_input_time = ...
max_execution_time = ...
default_socket_timeout = ...
request_terminate_timeout = ...