apache 使用 CGI 方式调用 python

设置方法:在xampp\apache\conf\httpd.conf中找到这行AddHandler cgi-script .cgi .pl .asp,添加.py成为AddHandler cgi-script .cgi .pl .asp .py,然后重启apache。

py脚本第一行写清楚python解释器就可以了,如我直接使用的是 Visual Studio 中的python,整个示例:

#!"C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python36_64/python.exe"

# cgi sample

print("Content-type: text/html\n\n")
print("<html><head><title>Hello World from Python</title></head><body>Hello World from a Python CGI Script</body></html>")

放在xampp\htdocs中就可以了。

WAMP安装wsgi

配置

  1. https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi 上下来合适版本的二进制文件下载。
  2. 安装此wheel文件
    pip install mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl

    ,注意管理员权限。

  3. 安装完成后再python的Scripts目录下会有mod_wsgi-express.exe文件,运行./mod_wsgi-express.exe module-config, 会给出需要写到httpd.conf中的配置内容
    LoadFile "c:/program files (x86)/microsoft visual studio/shared/python36_64/python36.dll"
    LoadModule wsgi_module "c:/program files (x86)/microsoft visual studio/shared/python36_64/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
    WSGIPythonHome "c:/program files (x86)/microsoft visual studio/shared/python36_64"
    
  4. 将上面输出的配置项添加到httpd.conf的。取代别的配置指导说的
    LoadModule wsgi_module modules/mod_wsgi.so

    。然后在加上wsgialias即:

    LoadFile "c:/program files (x86)/microsoft visual studio/shared/python36_64/python36.dll"
    LoadModule wsgi_module "c:/program files (x86)/microsoft visual studio/shared/python36_64/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
    WSGIPythonHome "c:/program files (x86)/microsoft visual studio/shared/python36_64"
    
    <IfModule wsgi_module>
    WSGIScriptAlias /hellowsgi C:/wamp64/www/hellowsgi.wsgi
    AddType text/html .py
    </IfModule>
    

然后就可以开始我们的helloworld了。 继续阅读WAMP安装wsgi

WordPress上传文件是http还是https的呢?

使用ImageElevator插件等上传完图片插入的图片的链接是http地址,而如果我们站点启用了https并通过https访问时,图片就不是通过https的啦。
这是需要使用不带schema的地址形式。

方案一,设置这个wp-option

upload_url_path为不带schema的相对路径(域名可选)。
参考定义在wp-includes/functions.php中的_wp_upload_dir函数。
这个可行, 暂时用这个。
继续阅读WordPress上传文件是http还是https的呢?