迁移到新服务器后,二进制编译的CGI脚本出现500错误

时间:2018-02-14 14:20:14

标签: linux apache cgi

我最近迁移到了一家新托管公司。就配置而言,我对linux和apache都很陌生。我无法在新服务器上执行二进制CGI脚本。尝试执行脚本时,我得到500服务器配置错误,并在错误日志中得到: "标题之前的脚本输出结束" 我们的旧服务器使用了aestiva的编程语言HTML OS,它使用二进制编译的CGI脚本来操作。我尝试过的事情:

  1. 权限 - 所有权限都设置为755,其他简单的cgi脚本使用相同的权限运行正常
  2. 编写一个简单的GCI sript - 即使在同一目录中执行也很好
  3. 禁用和启用selinux
  4. 从命令行运行脚本我收到此错误" asetup476.cgi第1行"第1列中无法识别的字符\ x7F;
  5. 无论如何,这里是规格:

    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位支持吗?

    解决 为ce​​ntOS linux启用32位支持就可以了:

    yum install glibc-devel.i686
    

0 个答案:

没有答案