Django和PHP同时使用

时间:2014-01-03 13:57:52

标签: php python django apache

我有一个Apache服务器,支持PHP。我还使用Pythonmod_wsgi安装了mysql-connector。除了我安装了Django。现在,我想尝试在服务器端同时使用PHPPython。问题是,我与PHP合作了几年,我发现它变得越来越不受欢迎,所以我打算将我的一些PHP代码移植到Python代码中,或者只是为了尝试它,看看他们如何一起工作。所以,我现在有一个位于C:\Apache\htdocs的网站,我在Django创建了第一个C:\WebPython\djsite项目。在djsite内,我有djsite个文件夹和四个文件_init_.py, settings.py, urls.py and wsgi.py。在我的网站中,我想要解决PHP处理程序(或脚本)和Python脚本,所以,我想,问题在于如何配置httpd.conf。我在stackoverflow和外面查看了许多论坛帖子,但我仍然无法使其工作。现在,我的httpd.conf看起来像这样:

...
ServerName localhost
<Directory "c:/Apache/htdocs">
   Options Indexes FollowSymLinks
</Directory> 
<IfModule dir_module>
  DirectoryIndex index.html index.htm index.php
</IfModule>
...

2 个答案:

答案 0 :(得分:1)

你应该看到这个问题:

PHP script inside Django template

它有一个链接:

http://animuchan.net/django_php/

使用Django运行PHP会很乱。

答案 1 :(得分:0)

你好像每个身体其他说它是一个可怕的想法,但请参阅Django文档将你的apache2和tweek添加到http.conf    wsgi.py文件可以工作      WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py      WSGIPythonPath /path/to/mysite.com <Directory /path/to/mysite.com/mysite> <Files wsgi.py> Require all granted </Files> </Directory>

并改变 如果在单个mod_wsgi进程中运行多个Django站点,则所有站点都将使用首先运行的设置。这可以通过更改:

来解决

在wsgi.py中,到:

os.environ["DJANGO_SETTINGS_MODULE"] = "{{ project_name }}.settings"

或使用mod_wsgi守护程序模式并确保每个站点都在自己的守护程序进程中运行。

修复文件上传的UnicodeEncodeError

如果在上传文件名包含非ASCII字符的文件时出现UnicodeEncodeError,请确保Apache配置为接受非ASCII文件名:

export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'

放置此配置的常见位置是/ etc / apache2 / envvars。

有关详细信息,请参阅Unicode参考指南的“文件”部分。

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/

了解详情