先说个题外话,之前一直以为发文章时可选的tag只有鼠标点击tag区时,悬浮框里显示的那些,今天尝试着在tag区输入文本,才发现原来还有自动联想功能,真不错,又有新发现,哈~
言归正传,下面整理出来的这些字段,是安装 Apache 和 PHP 后可能需要修改的字段,因为自己没有按默认路径安装使用,所以有几处涉及到路径的地方都要自己设置,尤其是 Apache 的 alias 这个字段,研究了好几天才搞定,感谢 Google,感谢 StackOverflow。
Apache
注意:不同版本的 Apache,某些命令可能会不一样,比如 Alias
,所以如果配置不生效,记得根据当前版本号查官方文档,血的教训啊……
ServerRoot
该字段配置 Apache 的路径,不要保留最后的斜线。
ServerRoot "d:/Code/Projects/WAMP/Apache24"
Listen
该字段绑定 IP 及端口,第二行为第一行对应的 ipv6 地址。
Listen 127.0.0.1:80
Listen [::1]:80
LoadModule
这里要以 module 方式载入 PHP5 模块。
LoadModule php5_module "d:/Code/Projects/WAMP/PHP/php5apache2_4.dll"
下面还要对应加上一段代码,配置 PHP 的路径及其它相关配置。
<IfModule php5_module>
DirectoryIndex index.html index.php
AddHandler application/x-httpd-php .php
PHPIniDir "d:/Code/Projects/WAMP/php/"
</IfModule>
ServerName
配置服务器名,这里用常见的 localhost
,端口号不写则为默认的 80 端口。
ServerName localhost
DocumentRoot
该字段配置网站根目录,结合 Directory
字段设置访问权限。
注意倒数第二行的 Require local
,这是 Apache 2.4 中的用法,和之前的不同了。
DocumentRoot "d:/Code/Projects/WAMP/xinlan_exam"
<Directory "d:/Code/Projects/WAMP/xinlan_exam">
Options Indexes FollowSymLinks
AllowOverride None
Require local
</Directory>
IfModule alias_module
该字段配置别名,也就是上面 DocumentRoot
之外的路径要如何访问。
对于下面的这段设置,在浏览器中通过 http://localhost/website
访问就可以了~
<IfModule alias_module>
Alias /website d:/Code/Projects/Website
<Directory d:/Code/Projects/Website >
Options Indexes FollowSymLinks MultiViews
Require local
</Directory>
</IfModule>
IfModule mime_module
该字段配置不同扩展名的文件的 MIME 类型。
<IfModule mime_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
</IfModule>
Hide Server Signature
该字段用于关闭 Apache 的 Server_Token,嗯,为了安全。
ServerSignature Off
ServerTokens Prod
VirtualHost
该字段配置虚拟主机,作用与上面的 Alias 是类似的。
<VirtualHost localhost:8801>
DocumentRoot "d:/Code/Projects/xinlan_exam_weixin"
ServerName xinlan_exam_weixin
ErrorLog "d:/Code/Projects/xinlan_exam_weixin/logs/error.log"
TransferLog "d:/Code/Projects/xinlan_exam_weixin/logs/access.log"
<Directory "d:/Code/Projects/xinlan_exam_weixin">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
PHP
log_errors
开启这个选项之后,PHP 就会向指定位置的日志文件中写入所有错误。
log_errors = On
error_log
该选项与上面的 log_errors
结合,指定日志文件的位置。用 Everything 查找该文件后发现,启动 Apache 服务时,与 PHP 配置有关的错误会输出到 Apache 的根目录下,比如 php.ini 中的配置错误导致模块未能正常加载。而与项目文件有关的错误,比如某个 php 文件运行报错,就会将错误输出到这个项目的根目录中。
error_log = php_errors.log
extension_dir
该选项配置 PHP 的扩展模块所在目录,测试后发现,下面两种写法都是 OK 的,应该是第一种绝对路径和第二种以 PHP 所在目录为根目录的相对路径都能正常识别。用绝对路径的时候,要注意斜线的形式。
Update: 配置网站的时候发现,第二种相对路径的方式会导致测试页面时首页验证码不显示,改为第一种绝对路径就 OK 了,但是不确定是不是更改这里解决问题的。
extension_dir = "d:\Code\Projects\WAMP\php\ext"
extension_dir = "ext"
extension
该选项用于启用指定的模块。
去掉下面语句前面的分号:
注意:最前面不要有空格,不要问我为什么……
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
date.timezone
该选项设置 date 函数的默认时区,前面配置过的记录错误的日志文件中输出的时间也会对应更改。
date.timezone = Asia/Shanghai
expose_php
该选项也是为了安全。
expose_php = Off
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。