zoukankan      html  css  js  c++  java
  • 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文件,请参照官方文档,以下是需要注意的地方:

    1. extension_dir要用绝对路径,虽然文档说可以用相对路径,实测失败,比如我最终用了extension_dir = "c:/php/ext"
    2. 99%的情况下你肯定用了mysql,所以extension至少需要打开两个:extension=php_mysql.dllextension=php_mysqli.dll
    3. 如果有用短标签的习惯或需求,记得short_open_tag = On
    4. display_errors文档中建议为Off,但开发用的话我还是建议打开吧:On
    5. 此外,发邮件。在此文件中配置smtp的用户名和密码据说是无效的,我实测也无效,所以最终在wordpress是用了插件发邮件的

    4,配置Apache

    编辑httpd.conf文件,官方文档很简洁,但完全实用,直接对着设置即可,不到三步。

    1. 文档介绍了三种方式,handler, cgi和fastcgi,第二种方式不可取,第三种貌似是nginx默认的,但apache下配置还没能一眼就看明白,我选择了第一种。
    2. 打开重写模块,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>
    1. 我绑定了任何方式访问本机的5584端口
    2. 主文档目录指向了F:/ftp/IISRoot/wordpress
    3. 错误日志指向了一个固定目录,并且按月滚动(每月生成一个日志文件)
    4. 访问日志指向了一个固定目录,并且按天滚动
    5. 单独为该目录指定了一些参数:
      • 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文件
    6. 对滚动日志感兴趣的童鞋,这篇日志有对rotatelogs.exe的简单介绍。

    6,部署wordpress

    因为我是重新整理的这篇文章,所以如果按上述步骤,把wordpress解压到上述f:/ftp/iisroot/wordpress目录,应该可以直接跑起来了。

    实际的过程是,我早早就把网站部上去了,然后不断出错,从出错日志中再慢慢调整才跑起来的。

  • 相关阅读:
    弹丸类以及魂类的构想
    LaunchCharacter
    如何让Ue4画面产生振动效果
    解决Ue4C++使用UMG之类的模块时出现的拼写错误
    我认为我可以去尝试做一下Maya Ue4导出插件
    Wiki上的Ue4文件结构以及命名规范
    如何在修改了默认值之后跟新
    Ue4 BatteryCollector 教程笔记
    Ue4的GitHUB版本版本管理探索
    FString的相关文档,另外还有4种LOG的方法
  • 原文地址:https://www.cnblogs.com/walkerwang/p/3315772.html
Copyright © 2011-2022 走看看