今天在搭建微信公家号打点平台的时候,产生了一件蛋疼的工作。就是在IIS下,PHP不撑持OPENSSL。用PHPINFO()检察后,发明同一个版本的PHP,,在apache下撑持OPENSSL,而IIS6不撑持,导致了IIS下微信公家号自界说菜单的成果产生错误。
网络上查找了多种解决方案无效后,决定将网站迁移到APACHE中,但有一个问题,就是IIS下已经有多个网站在使用了,包孕ASP、ASP.NET网站。最后决定,将PHP开发的微信公家号打点平台迁移到APACHE中,并将80端口分配给APACHE。其他网站则通过APACHE做反向代办代理连接到IIS进行访谒。
具体法式如下(我用的是WAMP,法式视差别平台而定):
1. 在apache的httpd.conf里面,打消下面四行的注释(即将前面的#号去失)。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
2. 打消httpd.conf中
Include conf/extra/httpd-vhosts.conf前面的注释,这样apache的host配置将使用 httpd-vhosts.conf文件。
3. 打开httpd-vhosts.conf,添加如下代码,将目录D:/wwwroot/weimeng绑定到域名***.com,并设置默认首页和访谒权限。
<VirtualHost *:80>
DocumentRoot "D:/wwwroot/weimeng"
ServerName ***.com
<Directory "D:/wwwroot/weimeng>
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.php default.php
AllowOverride Options FileInfo
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
(如果你只做代办代理,不架设网站,这步可以忽略)
4.这步才是添加代办代理
<VirtualHost *:80>
ServerName
ProxyRequests Off
<Proxy *>
Order Deny,Allow
Allow from all
</Proxy>
ProxyPass / :8181/
ProxyPassReverse / :8181/
</VirtualHost>
这样访谒域名将通过apache指向:8181/,而8181端口是分配给IIS的。
其它的网站也是依样画葫芦。
设置完成后,重启apache搞定。
完成后不要忘记了,在系统处事中设置wampapache、wampmysqld两个处事为自动启动,不让重启处事器或账户被注销就麻烦了。