- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
为什么 mod_python 是 oop 而 mod_php 不是?
例子:我们去 www.example.com/dir1/dir2
如果你使用 mod_python,apache 打开 www/dir1.py 并调用 dir2 方法但是如果你使用 php 模块,apache 打开 www/dir1/dir2/index.php
最佳答案
让我们谈谈 mod_python 与 mod_php。
由于 Python 语言不是专门为网页服务而设计的,mod_python 必须做一些额外的工作。
由于 PHP 语言是专门为网页服务而设计的,mod_php 只是启动一个命名的 PHP 模块。
对于 mod_python(不同于 mod_fastcgi 或 mod_wsgi),mod_python 的设计者决定调用 Python 的最佳方式是调用模块中定义的对象的方法。希望该对象的该方法会将标题和网页内容写入标准输出。
对于 mod_wsgi,设计者决定调用 Python 的最佳方式是调用模块中的函数(或可调用对象)。希望该函数将使用提供的对象来创建标题并返回包含网页内容的列表字符串。
在 mod_php 的情况下,它们只是调用模块,因为 PHP 模块旨在为网页提供服务。程序运行,运行结果是一页内容;通常是 HTML。
之所以 mod_php 以一种方式工作,mod_python 以另一种方式工作,而 mod_wsgi 以第三种方式工作,是因为它们不同。不同的人对制作网页的方式有不同的定义。
php页面可以是面向对象的。 mod_wsgi 函数可以是可调用对象,也可以是简单函数。这些是设计选择。
类的 mod_python 要求是 mod_python 设计者做出的设计选择。
“为什么”的原因永远没有用。之所以“为什么”是因为有人决定那样设计。
关于php - mod_php 与 mod_python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/872695/
刚刚使用 Python 2.4.3 在 CentOS 5 (Apache 2.2.3) 服务器上安装并配置了 mod_python 3.2.8。 Apache 可以很好地加载它。 我激活了 mpinf
我编写了一个 Django 应用程序,它利用 Python 线程创建网络蜘蛛,该蜘蛛作为一系列线程运行来检查链接。 当我使用 django 测试服务器(内置)运行此应用程序时,该应用程序运行良好,并且
我想在我们的真实世界的 Trac/mod_python 安装中启用侧日志记录,它已经变得非常慢(很多插件,没有那么多票/页面)。 我能否以某种方式代理请求对象,或添加python 跟踪(每次调用都有时
我的 Apache 日志中不断出现这些错误: [error] python_init: Python version mismatch, expected '2.6.5+', found '2.6.6
我是 Python 新手(我正在退出 PHP,因为它越来越糟糕),并且我正在努力移植我的旧代码。一件事: 我有一个带有函数index()和bar()的文件/foo.py,因此,通过发布者我可以访问ht
我正在 Apache 下运行 mod_python。如果我理解正确的话,每个 Apache 进程都运行自己的 Python 解释器。 在所有进程之间共享少量数据的最佳方式是什么?我在这里谈论的只是几百
我在 settings.py 文件中使用如下日志记录设置: logging.basicConfig(level=LOG_LEVEL, format=LOG_FORMAT); handler =logg
我想做一个简单的文件上传表单,我肯定完全没有能力。我已阅读文档和教程,但出于某种原因,我没有收到提交的表单数据。我写了尽可能少的代码来测试,但它仍然无法正常工作。有什么问题吗? def index()
我是 mod_python 和 Apache 的新手,在 GET 请求后我无法将文件返回给用户。我现在有一个非常简单的设置,并希望简单地打开文件并将其写入响应: from mod_python imp
完成安装 mod_python 后,我收到 500 Internal Server Error。我查了一下日志,它说:python_handler:无法获取/创建解释器。 然后我打开一个 python
我正在使用 mod_python 在 Apache 中运行 Trac。我正在开发一个插件,但不确定如何存储/缓存全局变量。 我是 python 的新手,用 google 搜索了这个主题,发现 mod_
我在让我的 Mod Python 正常工作时遇到问题。 我已经按照mod_python手册找到了here 这是我的 Apache 设置(我使用的是虚拟主机): ServerName host
我有一台使用 apache2 和 mod_python 的服务器,它似乎在短时间后重置了全局变量。在此之前,服务器和全局变量的所有功能都完全按照我的预期进行处理。 为了排除某些运行时错误的可能性(尽管
我正在尝试在 Apache 2.2/mod_python 3.2.8 下运行一些 python 代码。最终代码执行 os.fork() 并生成 2 个独立的长期进程。这些进程中的每一个都必须创建一个单
我在 debian 机器上安装了 mod_python,并安装了 python 2.4 和 2.6。我希望 mod_python 使用 2.6,但它找到的是 2.4。如何设置才能使用其他版本。 最佳答
让 python 的日志模块与 apache/modpython 一起工作的标准方法是什么? 我想调用 mylog.warn('whatever') 并导致调用 req.log_error(),其中
我一直在尝试为 mod_python 实现一个单例类。它在处理单个请求时工作正常,但当我从新请求调用时实例化一个新对象(如预期)。我怎样才能拥有一个跨请求具有公共(public)对象的类。它的生命周期
为什么 mod_python 是 oop 而 mod_php 不是? 例子:我们去 www.example.com/dir1/dir2 如果你使用 mod_python,apache 打开 www/d
我想在数据库中保留一些关于用户和位置的统计信息。例如,我想存储“Mozilla”、“Firefox”、“Safari”、“Chrome”、“IE”等...以及版本,可能还有操作系统。 我试图从 Pyt
我正在使用带有 Mod_python 的 Apache Web 服务器运行 Ubuntu。 Web服务器的根目录是/var/www我有一个用于上传文件的表单。上传的文件应通过Python脚本存储在/v
我是一名优秀的程序员,十分优秀!