你好我的一个客户购买了一个非常糟糕的网络主机,我甚至没有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目录中添加一个webhost,但显然我无法访问托管中的该文件夹。 我也尝试将这个脚本放在我的主机的根目录上,名为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 OFF 所以我猜这就是404的原因。 在同一页面中,我看到名称服务器是 http://ns115.neubox.net/ http://ns116.neubox.net 第一个说 阿帕奇功能正常 这是他们的服务比较网站(西班牙语)http://neubox.net/comparativo-hosting.php
我希望我能知道他们运行的是什么操作系统我几乎可以肯定是linux,因为在我的root上有一个文件夹.htpasswd和那些.folders是隐藏的linux,但我不确定这是否确定告诉你。
他们给了我这个url http://72.249.55.33/info.php它的phpinfo()我看到了fast-cgi但是关于它的所有关于改变Apache配置的事情我都明白不能做,这就是结束我的搜索对了?他们不支持python。
答案 0 :(得分:8)
在你的服务器中,他们有php,所以也许你可以使用this php function。检索更多信息,执行python脚本:
# hacking.py
import sys
print sys.version_info
在你做了这样的事之后
<?php
// echo $path = exec('pwd');
// exec python script
echo exec('python hacking.py');
?>
不要忘记文件权限
答案 1 :(得分:2)
sacabuche 有正确的答案。该脚本是测试Python支持的一种非常简单的方法。它适用于几乎所有Linux和Berkely UNIX(BSD)的版本,其中一个版本是Mac Pro上的底层OSX。如果该脚本不适合您,则可能是权限问题。
我会继续通过主持人的支持人员来解决这个问题。如果他们无法帮助你,你的主人就错了。由于缺乏支持或错误表示的功能,例如每个域的单独文件夹层次结构,我已经多次更改了主机...这些内容越来越难以找到。
目前我正在使用MochaHost,我建议这样做,因为它们似乎到目前为止一直都在使用。
-Jack