先說個題外話,以前一直覺得發文章時可選的tag只有鼠標點擊tag區時,懸浮框裏顯示的那些,今天嘗試着在tag區輸入文本,才發現原來還有自動聯想功能,真不錯,又有新發現,哈~php
言歸正傳,下面整理出來的這些字段,是安裝 Apache 和 PHP 後可能須要修改的字段,由於本身沒有按默認路徑安裝使用,因此有幾處涉及到路徑的地方都要本身設置,尤爲是 Apache 的 alias 這個字段,研究了好幾天才搞定,感謝 Google,感謝 StackOverflow。html
注意:不一樣版本的 Apache,某些命令可能會不同,好比 Alias
,因此若是配置不生效,記得根據當前版本號查官方文檔,血的教訓啊……mysql
該字段配置 Apache 的路徑,不要保留最後的斜線。web
ServerRoot "d:/Code/Projects/WAMP/Apache24"
該字段綁定 IP 及端口,第二行爲第一行對應的 ipv6 地址。sql
Listen 127.0.0.1:80 Listen [::1]:80
這裏要以 module 方式載入 PHP5 模塊。apache
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>
配置服務器名,這裏用常見的 localhost
,端口號不寫則爲默認的 80 端口。安全
ServerName localhost
該字段配置網站根目錄,結合 Directory
字段設置訪問權限。服務器
注意倒數第二行的 Require local
,這是 Apache 2.4 中的用法,和以前的不一樣了。app
DocumentRoot "d:/Code/Projects/WAMP/xinlan_exam" <Directory "d:/Code/Projects/WAMP/xinlan_exam"> Options Indexes FollowSymLinks AllowOverride None Require local </Directory>
該字段配置別名,也就是上面 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>
該字段配置不一樣擴展名的文件的 MIME 類型。
<IfModule mime_module> AddType application/x-httpd-php .php AddType application/x-httpd-php .html </IfModule>
該字段用於關閉 Apache 的 Server_Token,嗯,爲了安全。
ServerSignature Off ServerTokens Prod
該字段配置虛擬主機,做用與上面的 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 = On
該選項與上面的 log_errors
結合,指定日誌文件的位置。用 Everything 查找該文件後發現,啓動 Apache 服務時,與 PHP 配置有關的錯誤會輸出到 Apache 的根目錄下,好比 php.ini 中的配置錯誤致使模塊未能正常加載。而與項目文件有關的錯誤,好比某個 php 文件運行報錯,就會將錯誤輸出到這個項目的根目錄中。
error_log = php_errors.log
該選項配置 PHP 的擴展模塊所在目錄,測試後發現,下面兩種寫法都是 OK 的,應該是第一種絕對路徑和第二種以 PHP 所在目錄爲根目錄的相對路徑都能正常識別。用絕對路徑的時候,要注意斜線的形式。
Update: 配置網站的時候發現,第二種相對路徑的方式會致使測試頁面時首頁驗證碼不顯示,改成第一種絕對路徑就 OK 了,可是不肯定是否是更改這裏解決問題的。
extension_dir = "d:\Code\Projects\WAMP\php\ext" extension_dir = "ext"
該選項用於啓用指定的模塊。
去掉下面語句前面的分號:
注意:最前面不要有空格,不要問我爲何……
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 函數的默認時區,前面配置過的記錄錯誤的日誌文件中輸出的時間也會對應更改。
date.timezone = Asia/Shanghai
該選項也是爲了安全。
expose_php = Off