【问题标题】:linux ubuntu 18.04 lamp php and python cgilinux ubuntu 18.04 灯 php 和 python cgi
【发布时间】:2019-04-21 06:00:54
【问题描述】:

操作系统 linux ubuntu 18.04 现在我已经安装了灯,可以无缝运行 php 代码。我正在运行的目录/var/www/html。 但我想做的是运行 python cgi。我审查了几个来源,但都没有成功。

【问题讨论】:

  • 这方面有很多文档。我建议您尝试其中的一些,如果您在实际执行某些代码时遇到困难,请回到这里。否则,serverfault 是发布服务器托管问题的好地方。

标签: php python ubuntu lamp


【解决方案1】:

我在以下方面取得了一些成功:

1)。安装 libapache2-mod-python

$ sudo apt install libapache2-mod-python 
$ sudo a2enmod python 

2)。将此添加到 /etc/apache2/sites-enabled/ 中的新文件中 - 将相关部分更改为适合您的任何内容

<VirtualHost *:80>
    # 
    ServerName yourpythonserver.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/py

    <Directory /var/www/py>
        AddHandler mod_python .py
        PythonHandler index
        PythonDebug On
        DirectoryIndex index.py
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

3)。从上面的配置中可以看出,这将处理从/var/www/py 定向到yourpythonserver.com 的请求 - 默认为 index.py

4)。使用以下内容创建文件/var/www/py/index.py

#!/usr/bin/env python3

from mod_python import apache


def handler(req): 
    ret = ""
    req.content_type = "text/html"
    req.write("<h1>Hello World!</h1>")
    return apache.OK

5)。最后,

sudo systemctl reload apache2 

这对我来说开始变得模糊,但也许那里的其他人可以帮助我们解决这个问题......我不确定为什么函数的名称需要成为处理程序,我不确定如何获取 PHP 通常提供的东西,例如 $_SERVER 变量。 但无论哪种方式,这都有效,并将使用 apache 提供 python 文件。

【讨论】:

    猜你喜欢
    • 2018-10-13
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    相关资源
    最近更新 更多