You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Fedora 39升级到41后CGI脚本tie行为异常求助

Fedora 39升级至41后Apache CGI脚本无法读取DB_File数据库的问题

将系统从Fedora 39升级到41后,我的Apache服务器(版本httpd-2.4.63-1.fc41.x86_64)出现异常。服务器使用userdir虚拟主机,在权限为755的public_html目录下运行CGI脚本,且已配置SSL。我尝试关闭SELinux排查问题,但异常仍然存在。

我有一个名为simpletest.cgi的测试脚本(升级前可正常运行):

require DB_File;
print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>CGI Test Script</TITLE></HEAD>\n";
print "<BODY>\n";
print "Test\n";
tie %dbase, 'DB_File', "/<fullpath>/data/billyard_clean.db" or die "Can't open file: $!<br>\n";
print "(" . $dbase{"I14.NAME"} . ")<br>\n";
print "\n</BODY>\n</HTML>\n";
exit;

该脚本在命令行和Apache服务器中的运行结果不一致:

  • 在脚本所在目录执行perl -w simpletest.cgi,可得到预期输出:
Content-type: text/html

<HTML><HEAD><TITLE>CGI Test Script</TITLE></HEAD>
<BODY>
Test
(Andrew Philip /Billyard/)<br>
</BODY>
</HTML>
  • 通过浏览器访问https://<address>/~user/cgi-bin/simpletest.cgi时,代码在数据库tie行终止,仅输出:
<HTML><HEAD><TITLE>CGI Test Script</TITLE></HEAD>
<BODY>
Test

查看/var/log/httpd/ssl_error_log日志,发现错误信息为Read-only file system。我已确认SELinux处于关闭状态,且脚本在Apache下的运行用户与命令行执行时的用户一致。

恳请各位提供解决建议?

内容的提问来源于stack exchange,提问作者jaf0faj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 15:42:36