按以下方式通过NGINX+PHP这种最简方式实现动态网页访问:
1、下载NGINX,PHP
2、配置PHP.ini:检查有关ODBC
3、配置NGINX.conf:加上CGI支持。
server {
listen 80 default_server;
server_name _;
location / {
root html;
index index.html index.htm index.php;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
4、启动PHP和NGINX
E:\PHP\php-cgi.exe -b 127.0.0.1:9000 -c E:\PHP\php.ini
不要关闭
start nginx.exe
5、PHP代码连接数据库
$dbname='DRIVER=Microsoft Access Driver (*.mdb, *.accdb); DBQ=' /db/test.accdb;';
$conn=odbc_connect($dbname,'','');
这里存在 中文支持的问题,SQLITE,MYSQL等可以通过设置charset为UTF-8解决。但Access不支持字符集的设置。它是使用系统默认的,如ANSI编码按GB2312。在IIS中是通过设置session.codepage=65001来控制数据库等的编码的。
这样会导致无法使用中文字段名,中文文本显示也是乱码。这种情况下,通过WINDOWS设置里更改使用Unicode UTF-8支持来强行让系统默认编码为utf-8。修改办法是:WINOWS搜索“控制面板”,“时钟和区域”,“管理”,“更改系统区域设置”,勾选“Beta版:使用Unicode UTF-8提供全球语言支持”。
然后按要求重启计算机。(注意:这样设置后,一些像记事本类软件,过去系统默认保存的是ANSI格式,但现在是UTF-8,因此一些中文文本会出现乱码。注意打开时选择正确的编码。像EDITPLUS通过FTP列出远程目录时中文文件名会是乱码,要在FTP设置里勾选使用utf-8文件名)
这里修改系统设置后,就可以使用中文字段名,数据也不用再使用iconv("gbk", "utf-8",value)转换。