想在本地電腦配置一下PHP+MYSQL環境,在網上找了一些資料,大多數已經有點過時了,不一定能正常使用。記錄一下自己的配置過程。
1.PHP
1.1官方下載地址:
最新版
PHP 7.4 (7.4.7)
VC15 x64 Non Thread Safe (2020-Jun-09 17:07:39)
https://windows.php.net/downloads/releases/php-7.4.7-nts-Win32-vc15-x64.zip
解壓到D盤,得到路徑:D:\php
1.2配置
將php.ini-prodution重命名為php.ini(記得備份,以便有問題的時候還原),打開
查找 extension_dir,將;extension_dir = "ext"改為extension_dir = "D:\php\ext"
查找 cgi.fix_pathinfo,將;cgi.fix_pathinfo=1改為cgi.fix_pathinfo=1,也就是去掉前面的分號
查找 ;date.timezone = ,先去前面的分號再改為 date.timezone = Asia/Shanghai
查找 enable_dl = Off 改為 enable_dl = On
查找 ;cgi.force_redirect = 1 先去前面的分號再改為 cgi.force_redirect = 0
查找 ;fastcgi.impersonate = 1 去掉前面的分號
查找 ;cgi.rfc2616_headers = 0 先去前面的分號再改為 cgi.rfc2616_headers = 1
接下來啟用擴展
查找extension,根據自身需要啟用相關擴展,要使用mysql,必須啟用extension=mysqli或者extension=pdo_mysql(去掉前面的分號就是啟用)。
常用的還有bz2,curl,fileinfo,sockets等,沒有啟用的話運行一些PHP程序會出現相關錯誤提示。
2.NGINX
官方下載地址:
2020-05-26最新版 nginx-1.19.0 mainline version has been released.
http://nginx.org/download/nginx-1.19.0.zip
解壓到D盤,得到路徑:D:\nginx
打開D:\nginx\conf\nginx.conf (NGINX的配置文件)
找到location /,並按注釋說明作相應修改:
location / { root html;#這是默認網站目錄,可以修改為E:\wwwroot,就是將網站根目錄改到E盤的wwwroot文件夾 index index.html index.htm; #默認索引首頁,加入index.php default.php }
完成后代碼:
location / { root E:\wwwroot; index index.html index.htm default.html default.htm index.php default.php; }
查找location ~ \.php$,去掉整段代碼前面的注釋號:#,將相應內容修改為:
location ~ \.php$ { root E:\wwwroot; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
保存。
3.mysql
最新版,MySQL Community Server 8.0.20
3.1下載地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-winx64.zip
解壓到D盤,得到路徑:D:\mysql
在D:\mysql目錄下新建mysql配置文件,mysql.ini,將如下內容粘貼進去:
[mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] #設置3306端口 port = 3306 # 設置mysql的安裝目錄 basedir=D:\mysql # 設置mysql數據庫的數據的存放目錄 datadir=D:\mysql\data # 允許最大連接數 max_connections=200 # 服務端使用的字符集默認為UTF8 character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB innodb_file_per_table = 1 #等待超時時間 wait_timeout=172800 #交互式連接超時時間 interactive-timeout=172800
3.2安裝,開始菜單-->系統-->命令提示符-->以管理員身份運行,如圖所示,依次輸入命令:
mysqld -install命令執行后,提示:Service successfully installed,表示安裝成功。
我在安裝的時候報錯,提示缺少msvcp140_1.dll,下載一個(在文后提供的RunHiddenConsole.rar壓縮包里已經附帶)復制至windows/system32目錄,按快捷鍵WIN+R,運行regsvr32 vcruntime140_1.dll注冊即可。也可至微軟官方下載系統對應版本安裝。地址:https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads
3.3初始化,同樣在命令提示符窗口,輸入mysqld --initialize --console命令初始化,會生成一個初始root密碼及在mysql安裝目錄生成數據庫文件data目錄,記錄下來該密碼,如圖所示:
3.4啟動mysql服務,輸入net start mysql命令,如圖:
3.5修改root初始密碼
輸入mysql -uroot -p,然后輸入前面記錄的初始密碼登錄mysql
登錄成功后即進入了mysql的命令行模式,輸入命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
123456為新的root密碼,命令執行成功后exit退出。mysql安裝配置完成。
4.下載RunHiddenConsole.rar
這個工具是用於隱藏運行服務的窗口,很好用。如果每次開機手工進命令提示行啟動nginx、php服務,關掉命令提示符窗口后相應服務就終止了,比較麻煩。
下載地址:https://www.bwg88.cc/RunHiddenConsole.rar,解壓密碼:bwg88.cc
解壓到D:\nginx目錄,將以下內容保存為start.bat批處理文件,用管理員身份運行即可自動運行mysql、php、nginx:
@echo off echo Starting mysql... net start mysql echo Starting nginx... "D:/nginx/RunHiddenConsole.exe" "D:/nginx/nginx.exe" -p "D:/nginx" echo Start nginx success echo Starting PHP Server ....................... "D:/nginx/RunHiddenConsole.exe" "D:\php\php-cgi.exe" -b 127.0.0.1:9000 -c "D:\php\php.ini" echo START PHP SERVER SUCCESS pause Exit
將以下內容保存為stop.bat批處理文件,以管理員身份運行,可自動停止mysql、php、nginx服務:
@echo off echo Stopping nginx... taskkill /fi "imagename eq nginx.exe" /f> nul echo Stop nginx success echo Stopping PHP FastCGI... taskkill /fi "imagename eq php-cgi.exe" /f> nul echo Stop php-cgi success echo Stopping mysql... net stop mysql pause exit
到這里,所有的安裝配置任務已完成。
注:部分圖片來源於網絡。