Windows10搭建PHP7開發環境


3年前寫了一篇《Windows下搭建PHP開發環境》之后就再也沒有碰過PHP了,最近新發布了PHP7然后回去看了一下之前寫的文章,發現很多配置都已經過時,所以就打算再寫一篇新的。

安裝准備 – 系統:Windows 10

安裝軟件

安裝Apache

首先解壓httpd-2.4.18-win64-VC14.zip,為了方便管理我將解壓得到的文件夾Apache24放到C:/PHPServer目錄下。同時對Apache配置文件httpd.conf中用到路徑的配置作相應修改:

ServerRoot "C:/PHPServer/Apache24"

Document Root "C:/PHPServer/Apache24/htdocs"

<Diretory "C:/PHPServer/Apache24/htdocs">
...
</Diretory>

 

以管理員身份啟動命令提示符,使用cd C:/PHPServer/Apache24/bin切換到apache的命令目錄,在命令行輸入httpd.exe即可啟動apache服務器。
在瀏覽器輸入地址http://localhost,出現It works!即代表apache啟動成功。
這種方式並沒有將apache安裝成為系統服務,命令行退出了服務也就結束了。安裝成服務也非常簡單,只需要執行http.exe -k install,卸載服務http.exe -k uninstall。安裝成功后啟動bin目錄下的ApacheMonitor可以對服務器進行管理。
ApacheMonitor

安裝Mysql

Mysql官方提供兩種安裝方式,一種是常規的msi安裝包的方式,另一種是壓縮包形式的免安裝方式。我之前的一篇博客就是用的msi安裝包,所以這里嘗試一下壓縮包的形式安裝。
首先解壓mysql-5.7.10-winx64.zip,為了方便執行Mysql命令可以將Mysql的bin目錄添加到系統的環境變量Path。安裝Mysql前需要指定數據文件的存放路徑,默認路徑為Mysql目錄下的data目錄,需要手工創建這個目錄。目錄創建好后可以開始初始化數據了:
Win10.png

// 初始化數據庫文件
mysqld --initialize-insecure --console

 

常用參數說明

  • –console 在命令行輸出執行的信息
  • –initialize-insecure 初始化數據不生成登錄密碼 
  • –initialize 初始化數據並隨機生成登錄密碼
  • –user=root 指定數據庫超級用戶,默認root,也可以改成別的帳號
  • –defaults-file=C:/Program Files/Mysql/my.cnf 指定mysql配置文件
  • –basedir 指定安裝目錄
  • –datadir 指定數據存放目錄

mysql配置文件樣例(my.cnf)

[mysqld]
basedir=C:/Program Files/MySQL
datadir=D:/MySQLdata

 

數據初始完成后再重新執行一次mysqld啟動數據庫,使用mysqladmin -u root -p shutdown關閉數據庫,數據庫啟動完成后需要修改root密碼

// 如果使用--initialize初始化,需要輸入密碼登錄
mysql -u root --skip-password

// 修改用戶密碼為123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

 

 

最后將Mysql安裝為系統服務 mysqld --install (安裝前先關閉mysql)

安裝Php

在之前的博客中采用的是php作為Apache模塊安裝運行,從php官網了解到,php7作為Apache模塊安裝時僅支持VC6以下的Apache,不能和VC9以上的Apache一起運行。所以推薦采用fastcgi形式安裝。
首先解壓php-7.0.0-Win32-VC14-x64.zip到C:/PHPServer/並重命名為php7。將前面准備好的FastCGI模塊mod_fcgid-2.3.9-win64-VC14.zip解壓得到mod_fcgid.so文件拷貝到Apache的modules文件夾。修改Apache配置文件httpd.conf添加FastCGI配置:

LoadModule fcgid_module modules/mod_fcgid.so

<IfModule fcgid_module>
  FcgidInitialEnv PHPRC "C:/PHPServer/php7"
  FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
  AddType application/x-httpd-php .php
  <Files ~ "\.php$>"
    AddHandler fcgid-script .php
    FcgidWrapper "C:/PHPServer/php7/php-cgi.exe" .php
  </Files>
</IfModule>

 

 

為站點根目錄的Options增加ExecCGI,我設置的站點目錄為C:/PHPServer/Apache24/htdocs

<Directory "C:/PHPServer/Apache24/htdocs">
  AllowOverride All
  Options -Indexes +ExecCGI
</Directory>

 

找到DirectoryIndex index.html改為DirectoryIndex index.php index.html 站點默認加載index.php

Apache配置已經完成接着要配置php7,php的配置文件為php.ini,文件夾中並沒有這個文件,但提供了php.ini-development和php.ini-production這兩個文件作為參考,我們直接將php.ini-development改為php.ini作為配置文件即可。配置文件可以設置php擴展庫,需要指定擴展庫所在的目錄。
找到php.ini中關於extension_dir的注釋,在后面直接添加extension_dir="C:/PHPServer/php7/ext"
開啟相應的庫只需要去除前面的分號(注釋)即可

extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_xmlrpc.dll

 

最后設置相應的時區date.timezone = Asia/Shanghai

配置完成,重啟Apache使配置生效。在站點目錄新建index.php文件,並輸入以下內容

<?php
    phpinfo();
?>

 

 

phpinfo.png

在配置中如果目錄帶有空格,需要使用 \ 進行轉義

IDE

就我所知,目前市場上比較好用的IDE應該是jetbrains開發的PhpStorm,不過軟件的授權還是挺貴的。之前用過的Zend studio也是不錯的選擇,當然足夠熟練的話SublimeText或Vim都可以開發的很好,IDE並不是最關鍵的。

 

新博客地址:http://arenby.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM