Windows下配置Apache+PHP跑Wordpress拾遗
首先,我很少这么做,因为一旦有跑WAMP的需求,我就直接下一个wamp的安装包就可以了,市面上数不胜数,我一直用的是EasyPHP,不是说它有多好,而是很多年前第一次用后没什么问题,就一直用下来了。这玩意没有优劣之分,用自己熟悉的就好。
这次是碰到了服务器本来就装了一个Apache,版本是2.2.22(=_=”),而且还有一个mysql(v5.1.59),我当然选择直接装一个php不就完事了么,结果满以为简单的事还折腾了一番,那就总结下绕了弯的地方。
1,下载安装Apache
如果你想用最新的php,请下载最新的Apache,这是没得选择的,我的2.2.22就跑不起php的5.5,官网地址
2,下载PHP
没了“安装”,是因为官网下就没找到安装包,那就直接下载/解压缩吧,我把它解到了c:\php目录。如第一节所说,我的Apache2.2.22跑不起5.5的php,所以下的是5.4的,给的链接也是5.4的,当然其实是在同一个界面。请选择x86,thread safe版的。x64官方就说是实验品,跳过吧。
p.s. 搞windows的习惯,有新版就用新版,有x64就不用x86,结果在用python,nodejs等的x64版的时候,都碰到了若干问题,所以这次,我直接跳过x64了。
3,配置PHP
编辑php.ini文件,请参照官方文档,以下是需要注意的地方:
- extension_dir要用绝对路径,虽然文档说可以用相对路径,实测失败,比如我最终用了extension_dir = "c:/php/ext"
- 99%的情况下你肯定用了mysql,所以extension至少需要打开两个:extension=php_mysql.dll 和 extension=php_mysqli.dll
- 如果有用短标签的习惯或需求,记得short_open_tag = On
- display_errors文档中建议为Off,但开发用的话我还是建议打开吧:On
- 此外,发邮件。在此文件中配置smtp的用户名和密码据说是无效的,我实测也无效,所以最终在wordpress是用了插件发邮件的
4,配置Apache
编辑httpd.conf文件,官方文档很简洁,但完全实用,直接对着设置即可,不到三步。
- 文档介绍了三种方式,handler, cgi和fastcgi,第二种方式不可取,第三种貌似是nginx默认的,但apache下配置还没能一眼就看明白,我选择了第一种。
- 打开重写模块,LoadModule rewrite_module modules/mod_rewrite.so
修改好后,设置好监听端口,重启apache,再写一个有<?php phpinfo(); ?>的页面丢到默认目录(apache安装目录的htdocs文件夹),然后访问即可,一般OK了。
5,配置虚拟主机
2.x的apache已经默认把各配置文件独立出去,并在主文件里面include起来,这大大方便了各种配置。我们配置虚拟主机只要找到httpd.conf同级的extra目录即可,里面有各种配置文件的模板。
虚拟主机的模板是httpd-vhosts.conf,一般你从模板里拷一截出来就是最正确的语法了,当然我们需要做些改动,给成品吧:
NameVirtualHost *:5584
<VirtualHost *:5584>
ServerAdmin walker@ctitech.cn
DocumentRoot "F:/ftp/IISRoot/wordpress"
ServerName oa.ctitech.cn
ServerAlias oa.ctitech.cn
ErrorLog "|bin/rotatelogs.exe -l F:/log/apache/5584/error/%Y-%m.log 2073600"
CustomLog "|bin/rotatelogs.exe -l F:/log/apache/5584/access/%Y-%m-%d.log 86400" common
<Directory "F:/ftp/IISRoot/wordpress">
Options +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
- 我绑定了任何方式访问本机的5584端口
- 主文档目录指向了F:/ftp/IISRoot/wordpress
- 错误日志指向了一个固定目录,并且按月滚动(每月生成一个日志文件)
- 访问日志指向了一个固定目录,并且按天滚动
- 单独为该目录指定了一些参数:
- FollowSymLinks很重要,无论如何需要设,否则会报如下错误:Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: F:/ftp/IISRoot/wordpress/ ,结果就是,url重写都无效,你wordpress的pretty link自然就无效了
- AloowOverride All也照抄吧,貌似是允许php更改.htaccess文件
- 对滚动日志感兴趣的童鞋,这篇日志有对rotatelogs.exe的简单介绍。
6,部署wordpress
因为我是重新整理的这篇文章,所以如果按上述步骤,把wordpress解压到上述f:/ftp/iisroot/wordpress目录,应该可以直接跑起来了。
实际的过程是,我早早就把网站部上去了,然后不断出错,从出错日志中再慢慢调整才跑起来的。
Windows下配置Apache+PHP跑Wordpress拾遗的更多相关文章
- Windows下配置Apache服务器并支持php
php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要 ...
- windows下配置apache+php环境
PHP安装 由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境.如果对扩展要求不高,可以使用php7,安装过程类似. 约定: 环境安装目录: D:/phpsetup/ |-- ...
- [Apache系列]怎样在windows下配置apache vhost
找到你的Apache安装目录,下图为小编的Apache安装的目录 2 点击conf文件夹 进入配置目录,找到httpd.conf 文件, 3 打开httpd.conf 文件,如图, 找到地475行, ...
- windows下配置apache+https
通过https反向代理映射到http地址,可实现以https的方式,访问普通的http网站.主要涉及到以下三个配置文件的修改:httpd.confhttpd-ssl.confhttpd-vhosts. ...
- Windows 下配置 Apache 支持 https
1.打开cmd ,输入 F: // 切换到Apache安装路径,我的Apache安装目录在 F盘 2.cd F:\Apache\bin 3.set "openssl_conf = F:\A ...
- Windows下配置Apache服务器
第一步:下载最新Apache. 下载网址:http://www.apachehaus.com/cgi-bin/download.plx 第二步:把下载文件解压缩到一个工作目录.D:\Apache 第三 ...
- windows下配置lamp环境(2)---配置Apache服务器2.2.25
配置Apache 配置Apache时,先要找到安装目录中的主配置文httpd.conf,使用文本编辑器打开,最好不要使用windows自带的编辑器,可以使用NotePad++, vim,或者subli ...
- windows下配置lamp环境(1)---安装Apache服务器2.2.25
window下lamp成为wamp; 安装wamp环境的第一步是安装Apache服务器.下面开始安装步骤图文并茂. 一.双击安装包点“next”进行下一步,然后同意协议(这张图没有截):
- windows 下配置 Nginx 常见问题(转)
windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...
随机推荐
- env命令详解
env命令时gnu的coreutils包内的一个软件,它的功能是:在一个修改后的环境里执行命令. 通俗的讲:一个linux软件可能被安装在好几个地方,举个例子:在最新的centos中perl的版本为5 ...
- putty设置用key自动登录
1.在Linux下ssh-keygen -t rsa 生成密钥对 2.把私钥id_isa下载到用scp下载到windows并用puttygen加载并重新保存私钥. 3.在windows下新建快捷方式, ...
- thread-local-allocation-buffers
https://www.azul.com/files/Whats-inside-a-JVM-webinar-presentation.pdf https://www.zhihu.com/questio ...
- 黑客编程教程(十五)HTTP代理
#include <stdio.h> #include <winsock2.h> #define MAXBUFLEN 20480 #define HTTPADDLEN 50 # ...
- python定制类详解
1.什么是定制类python中包含很多内置的(Built-in)函数,异常,对象.分别有不同的作用,我们可以重写这些功能. 2.__str__输出对象 class Language(object): ...
- Oracle“不等于号”与Null的情况
今天突然才发现,Oracle中的“不等于操作符”是忽略Null的. 比如,查询comm不等于的300的记录,我会理所当然地使用where comm != 300 预想会返回包含Null的不等于300的 ...
- centos启动zookeeper
切换到zookeeper的bin目录下,执行 ./zkServer.sh start
- ReportNG测试报告的定制修改(二)
上一篇文章修改了一些基本的ReportNG信息,链接:https://www.cnblogs.com/mrjade/p/9912073.html,本文将继续带大家进行修改,重点是添加饼图 1.修改测试 ...
- GPIO实验(一)
目标:点亮LED1.看原理图,找到对应的引脚和寄存器2.a.配置寄存器为输入/出引脚 GPFCON[9:8]=0b01 b.设置输出高/低电平 GPDAT[4]=0b0 1.预处理2.编 ...
- filebeat+kafka+SparkStreaming程序报错及解决办法
// :: WARN RandomBlockReplicationPolicy: Expecting replicas with only peer/s. // :: WARN BlockManage ...