mod_python 返回纯文本脚本?

mod_python 返回纯文本脚本?

虚拟机中的 Ubuntu 12.10 服务器。

我已mod_python使用安装apt-get,使用 启用它a2enmod,然后重新启动apache2。我还进行了\etc\apache2\sites-available\defaults如下编辑。我的脚本驻留在/var/www/py/jQquery.ajax post 函数中并通过该函数调用。此脚本正在触发,但以纯文本形式返回自身。它应该返回 json,这表明我错过了一些明显的设置步骤。

取消注释下面的 testhandler 行,会导致脚本返回 mod_python.testhandler 输出 -基本的php.info() 输出,但针对的是 python。

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

         ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        <Directory /var/www/py>
                Options Indexes FollowSymlinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddHandler mod_python .py
                #PythonHandler mod_python.testhandler
                PythonDebug On
        </Directory>

答案1

作为对你的问题的非回答:mod_python 不再是部署 python 应用程序的推荐方式。将你的应用程序转变为适当的 wsgi 应用程序并使用 mod_wsgi 是最先进的。

现在给出一个实际的答案:您需要设置一个处理程序。mod_python 不仅仅运行随机脚本,而且您需要指定哪个模块包含处理程序,这就是 AddHandler 所做的。

有关详细信息,请参阅mod_python 教程

相关内容