如何测试网站主机的Python支持

7 投票
2 回答
9120 浏览
提问于 2025-04-16 22:06

你好,我的一个客户买了一个很糟糕的网络主机,我甚至没有SSH访问权限。他们的客服只回复说“我们支持Python”,但我无法运行任何.cgi、.py或application.wsgi文件。我想知道有没有什么方法可以确定这个服务器是否支持Python?

我只有FTP和DirectAdmin的访问权限,想在再次投诉他们的客服之前了解更多信息,否则他们不会重视我的问题。

这个主机是neubox.net,我已经尝试了以下方法。这个教程 http://www.howtoforge.com/embedding-python-in-apache2-with-mod_python-debian-etch 在我的开发机器上是有效的,它说我需要在apache2的/available-sites目录下添加一个网站,但显然我没有权限访问这个文件夹。我还尝试把一个名为application.wsgi的脚本放在主机的根目录,但没有成功。

import os
import sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

我还尝试把这个文件application.py放在根目录。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

# enable debugging
import cgitb
cgitb.enable()

print "Content-Type: text/plain;charset=utf-8"
print

print "Hello World!"

这些文件显示为纯文本,我尝试用相同的代码但把文件名改为application.cgi,奇怪的是却返回了404错误,当然这个文件是存在的。我在DirectAdmin的站点摘要中看到CGI-Bin是关闭的,所以我想这可能是404错误的原因。在同一页面,我看到域名服务器是http://ns115.neubox.net/和http://ns116.neubox.net,第一个显示“Apache正常运行”。这是他们的服务比较网站(西班牙语)http://neubox.net/comparativo-hosting.php

我希望我能知道他们运行的是什么操作系统,我几乎可以肯定是Linux,因为在我的根目录下有一个.htpasswd文件,而这些以点开头的文件夹是Linux中隐藏的文件,但我不确定这是否是判断的可靠方法。

他们给了我这个网址 http://72.249.55.33/info.php,这是用来查看phpinfo()的,我看到有fast-cgi,但所有关于它的教程都在讲如何更改Apache配置,而我显然无法做到。这是我搜索的终点,对吧?他们不支持Python。

2 个回答

2

sacabuche 给出了正确的答案。这个脚本是一个非常简单的方法来测试你的电脑是否支持Python。它几乎可以在所有的Linux版本和伯克利UNIX(BSD)上运行,而BSD又是Mac Pro上OSX的基础。如果这个脚本在你那儿不工作,很可能是权限的问题。

我建议你继续联系你主机的客服来解决这个问题。如果他们帮不了你,那你可能选错了主机。我之前换过几次主机,因为支持服务不够好,或者他们宣传的功能不真实,比如每个域名都有单独的文件夹结构……这样的服务现在越来越难找了。

目前我在使用MochaHost,我推荐他们,因为到目前为止他们的服务都很不错。

-Jack

9

在你的服务器上,他们说支持PHP,所以你可以试试这个PHP函数,用来获取更多信息,执行一个Python脚本:

# hacking.py
import sys
print sys.version_info

然后你可以做类似这样的事情

<?php
// echo $path = exec('pwd');

// exec python script
echo exec('python hacking.py');
?>

别忘了文件权限哦

撰写回答