windows安裝php,apache,mysql及其配置

PHP

下載

下載解壓包

選擇適合你的版本下載,我的是64位線程安全的。
解壓。

修改配置

接下來將php.ini-production文件重命名為php.ini,修改設(shè)置。

; On windows:
extension_dir = "ext"

;apache不識別php-ini中的相對路徑,最好寫上絕對路徑
extension_dir = "E:\study-environment\php\ext"



;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_fileinfo.dll
extension=php_ftp.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll

; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=php_snmp.dll

extension=php_soap.dll
extension=php_sockets.dll
;extension=php_sqlite3.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll


#指定站點路徑
查找”doc_root”,修改為doc_root = "E:\study-environment\www"

加入環(huán)境變量

把php加入環(huán)境變量:
Control Panel\All Control Panel Items\System----->Advanced system settings----->Environment Variables----->System variables----->Path
添加php的安裝路徑,如:
E:\study-environment\php

Apache

下載

下載解壓包

注意:在Windows上,確保PHP(5.5以上)與Apache(2.4)可以協(xié)同運作的唯一方法是Apache和PHP都是32位(x86)或64位(x64) )和Apache和PHP都是線程安全(TS)。 使用非線程安全(NTS)不適用,并且線程安全版本捆綁了所需的Apache模塊PHP“php7apache2_4.dll”。 NTS版本沒有這個模塊。
還要注意檢查它們是否都使用相同版本的Visual Studio(例如VC14)進行編譯。

修改配置

下載完后,解壓,找到conf/httpd.conf,進行配置。

Define SRVROOT "/Apache24"
ServerRoot "${SRVROOT}"
改為
Define SRVROOT "E:\study-environment\Apache"  ##你的安裝目錄
ServerRoot "${SRVROOT}"


#修改端口的配置
#Listen 12.34.56.78:80
Listen 80

ServerName localhost:80


#設(shè)置php7module
#查找”LoadModule”,新增行,輸入加載的php模塊信息
LoadModule php7_module "E:\study-environment\php\php7apache2_4.dll"

#修改默認站點
#DocumentRoot "${SRVROOT}/htdocs"
#<Directory "${SRVROOT}/htdocs">
DocumentRoot "E:\study-environment\www"
<Directory "E:\study-environment\www">

#查找”AddType”,新增行,輸入允許執(zhí)行php的文件類型
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html

#查找”DirectoryIndex”,更改默認首頁為
DirectoryIndex index.php index.html

#注意使用英文字符,使用中文字符會解析出錯


保存,win+x打開命令提示符(管理員)(以管理員方式運行),定位到bin目錄,安裝Apache:httpd -k install

啟動

Apache常見命令操作

#Start Apache 
httpd -k start 

#Stop Apache
httpd -k stop

#Restart Apache  
httpd -k restart

#Uninstall Apache Service  
httpd -k uninstall

#Test Config Syntax  
httpd -t

#Version Details 
httpd -V

#Command Line Options List  
httpd -h

啟動時可能會發(fā)生錯誤。

(OS 10048)Only one usage of each socket address (protocol/network address/port)
is normally permitted.  : AH00072: make_sock: could not bind to address [::]:443

(OS 10048)Only one usage of each socket address (protocol/network address/port)
is normally permitted.  : AH00072: make_sock: could not bind to address 0.0.0.0:
443
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

這是因為443端口被占用了,服務(wù)啟動不了,有兩個解決方法

方法一
可以在conf/extra/httpd.conf查找 Include 
如果找到

#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf

說明 https 應(yīng)用的配置文件是conf/extra/httpd-ahssl.conf 
打開該文件,修改https端口

Listen 443 https



方法二
1.查看所有的端口占用情況
C:\>netstat -ano
2.查看指定端口的占用情況
C:\>netstat -aon|findstr "443"
協(xié)議    本地地址                     外部地址               狀態(tài)                   PID
  TCP    127.0.0.1:443         0.0.0.0:0              LISTENING       2016

端口被進程號為2016的進程占用,繼續(xù)執(zhí)行下面命令: (也可以去任務(wù)管理器中查看pid對應(yīng)的進程)
3.查看PID對應(yīng)的進程
C:\>tasklist|findstr "2016"
 映像名稱                       PID 會話名              會話#       內(nèi)存使用
 ========================= ======== ================
  tor.exe                     2016 Console                 0     16,064 K


tor進程占用了443端口。

4.結(jié)束該進程
C:\>taskkill /f /t /im tor.exe

測試

啟動了Apache后,在站點文件”E:\study-environment\www”內(nèi)新建文件”index.php”,添加:

<?php
 phpinfo();
?>

重啟Apache,在瀏覽器訪問apache配置的端口。

后續(xù)配置

apach配置多個端口。
在httpd.conf中設(shè)置監(jiān)聽多個端口。

Listen 8000
Listen 8099
Listen 8077

啟用httpd-vhosts.conf設(shè)置。

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

注意,在http.conf中設(shè)置的DocumentRoot,在httpd-vhosts.conf配置的所有的虛擬目錄都應(yīng)該在這個目錄之下設(shè)置。
比如我的DocumentRoot

DocumentRoot "E:\study-environment\www"

然后在httpd-vhosts.conf中配置目錄和地址:

#NameVirtualHost *:8099  //2.4已棄用
<VirtualHost *:8099 >
ServerName 0.0.0.0:8099
DocumentRoot "E:\study-environment\www\8099"
</VirtualHost>
#NameVirtualHost *:8077 //2.4已棄用
<VirtualHost *:8077>
ServerName localhost:8077
DocumentRoot "E:\study-environment\www\8077"
</VirtualHost>

新建index.php訪問測試

Mysql

下載

下載安裝包

直接安裝,設(shè)置root密碼。

配置php數(shù)據(jù)庫模塊

php_mysql由于安全問題被棄用了,可以用php_mysqli和php_pdo_mysql代替
詳見這里

5.x開始,PHP連接MYSQL無論使用哪種方式都是使用的mysqlnd驅(qū)動。包括mysql_*、pdo_mysql、mysqli。

mysqlnd和mysql/mysqli/pdo_mysql關(guān)系打比方說 mysqlnd是金屬,而mysql mysqli pdo_mysql只是金屬制品。

例:使用PDO連接mysql

$pdo = new PDO('mysql:host=localhost;dbname=database_name;port=3306','用戶名','密碼');
$pdo->exec('set names utf8');

$stmt = $pdo->prepare("select * from table where id =:id");
$stmt->bindValue(':id',1,PDO::PARAM_INT);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

$rows = $pdo->query("select * from table where id = 1")->fetchAll(PDO::FETCH_ASSOC);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • php+mysql+apache+centos 編譯安裝 領(lǐng)導要求先保證php環(huán)境穩(wěn)定,然后再去考慮其他,例如性能...
    dnaEMx閱讀 2,474評論 1 16
  • LAMP簡介 LAMP(Linux- Apache-MySQL-PHP)網(wǎng)站架構(gòu)是目前國際流行的Web框架,該框架...
    mx3閱讀 1,147評論 1 9
  • 一、需求來源 最近在做一個就業(yè)信息發(fā)布網(wǎng)站,發(fā)布每天的南北校宣講會信息。此時前端模型已經(jīng)搭建好,用的是HTML+C...
    treker閱讀 6,708評論 4 30
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 肚子著涼了。 在值班室忙活了半天,不知不覺就睡著了,因為沒蓋被子,也沒有用衣服掩一下肚子,硬生生的...
    埂中鳴閱讀 429評論 2 6

友情鏈接更多精彩內(nèi)容