我最近迁移到了一家新托管公司。就配置而言,我对linux和apache都很陌生。我无法在新服务器上执行二进制CGI脚本。尝试执行脚本时,我得到500服务器配置错误,并在错误日志中得到: "标题之前的脚本输出结束" 我们的旧服务器使用了aestiva的编程语言HTML OS,它使用二进制编译的CGI脚本来操作。我尝试过的事情:
无论如何,这里是规格:
OLD SERVER
易Apache 3 2.4.25(Unix)
perl v5.10.1
新服务器
易Apache 4 2.4.29(cPanel)
perl v5.10.1
简单的Apache 3和4之间的文件结构完全不同,httpd.conf文件也是如此,因此复制conf文件可能无法正常工作。我的托管服务提供商要求我确保文件是使用ASCII上传的,但这是一个二进制编译文件,因此会使其无法使用。我是新手,所以如果没有足够的信息,我很抱歉,如果你想帮助我,我会提供你需要的任何东西。很感谢任何形式的帮助! 这是我试图运行的cgi脚本: file
修改 可能的原因,我发现我的旧服务器支持32位CGI可执行文件,而我的新服务器可能没有。命令行测试:
readelf -h $(which init) | grep "Class"
返回:
Class: ELF64
我希望这有点亮,有人知道如何为CentOS linux添加32位支持吗?
解决 为centOS linux启用32位支持就可以了:
yum install glibc-devel.i686