1、下載php語言包
php作為一門語言,本身可以是一個純綠色版的"文件夾"——稱之為"php語言包"。windows版的下載地址:https://windows.php.net/download/
我沒選擇7.x版。我下的是 php-5.6.40-Win32-VC11-x64.zip
解壓到D:\DevTools\php-5.6.40-Win32-VC11-x64,這個目錄下有個命令: php.exe。
2、配置php環境變量
為了在任何目錄下可以使用php.exe命令,我配置了PHP_HOMT=D:\DevTools\php-5.6.40-Win32-VC11-x64, path=;%PHP_HOMT%;以前的內容
3、測試php環境變量
使用php.exe命令運行腳本
* 運行php文件:php.exe -f "php文件路徑"
* 運行php代碼:php.exe -r "php腳本代碼"
a.html
<!DOCTYPE html> <html> <head> <title>a.html</title> </head> <body> <?php echo 'hello world'; ?> </body> </html>
進入到a.html文件目錄,shift+右鍵,在此處打開Powershell窗口,輸入命令:php -f b.html,結果:
<!DOCTYPE html> <html> <head> <title>a.html</title> </head> <body> hello world </body> </html> PS C:\Users\oy\Desktop\phpTemp>
4、下載apache服務器(windows安裝)
http://httpd.apache.org/docs/current/platform/windows.html#down
Popular options for deploying Apache httpd, and, optionally, PHP and MySQL, on Microsoft Windows, include:
ApacheHaus
Apache Lounge
BitNami WAMP Stack
WampServer
XAMPP
我是從ApacheHaus里下載:httpd-2.4.38-o102r-x64-vc14-r2.zip。下載完安裝包后解壓。
5、修改配置文件:
記事本打開httpd-2.4.38-o102r-x64-vc14-r2\Apache24\conf目錄下的httpd.conf文件,找到Define SRVROOT把引號的內容改為你的Apache安裝路徑
修改后:
Define SRVROOT "D:/DevTools/httpd-2.4.38-o102r-x64-vc14-r2/Apache24"
6、在windows系統中安裝apache服務
以管理員權限,命令行下進入到apache下面的bin目錄,輸入 - httpd -k install,把apache安裝成windows后台服務。
注意:
- 解決Win10安裝Apache缺少vcruntime140.dll文件問題:https://blog.csdn.net/xiaoyanol/article/details/53576561, 在Windows下運行最新版的Apache和php7都需要Visual C++ Redistributable 2015,
而之前的版本不需要那么高的,這個組件是運行Visual Studio 2015所建立的C++應用的必要組件
- 下載apache服務器(windows)的網站ApacheHaus下面就提供了Visual Studio Redistributable Packages的下載。
- 安裝成功:
D:\DevTools\httpd-2.4.38-o102r-x86-vc14-r2\Apache24\bin>httpd -k install
[Sun Mar 31 10:57:13.640942 2019] [mpm_winnt:error] [pid 4804:tid 580] AH00433: Apache2.4: Service is already installed.
- 查看服務是否安裝成功:
開始-->運行-->services.msc-->確定(win10直接搜索"服務")
打開后如果在服務列表能夠看到apache2.4字樣,說明,服務安裝成功,可以直接點擊左邊的啟動按鈕來啟動服務。
7、啟動apache服務
啟動Apache2.4服務: net start Apache2.4
關閉Apache2.4服務: net stop Apache2.4
啟動Apache2.4服務,在瀏覽器輸入http://localhost/,可以看到it works,成功。
8、配置apache以運行php代碼
將 a.html復制到D:\DevTools\httpd-2.4.38-o102r-x86-vc14-r2\Apache24\htdocs目錄中,瀏覽器訪問:http://localhost/a.html
httpd.conf的配置:
Define SRVROOT "D:/DevTools/httpd-2.4.38-o102r-x64-vc14-r2/Apache24" ServerRoot "${SRVROOT}" ##################################################################### #第一步: #裝載php模塊,其實就是指php語言包的一個文件。要給出php5apache2_4.dll的完整目錄。 LoadModule php5_module "D:/DevTools/php-5.6.40-Win32-VC11-x64/php5apache2_4.dll" #第二步: #告知apache,凡是".php"后綴文件,找php語言模塊(這里稱為application/x-httpd-php) <FilesMatch "\.php$"> setHandler application/x-httpd-php </FilesMatch> #####################################################################】
復制a.html文件到Apache24\htdocs目錄中,修改文件后綴為a.php。
注:
加載php模塊時無法啟動 net start Apache2.4
找問題:cmd進入Apache24\bin目錄,輸入【httpd -t】,結果報錯。=========通過這個命令來檢查httpd.conf是否配置對。
D:\DevTools\httpd-2.4.38-o102r-x86-vc14-r2\Apache24\bin>httpd -t
httpd: Syntax error on line 187 of D:/DevTools/httpd-2.4.38-o102r-x86-vc14-r2/Apache24/conf/httpd.conf:
Cannot load D:/DevTools/php-5.6.40-Win32-VC11-x64/php5apache2_4.dll into server:
%1 \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3
問題原因:apache是32位,改成64位。
9、php配置 php.ini
將php語言包下的php.ini-development文件復制一份,並改名類php.ini。
在a.php中添加一句代碼用於顯示當前時間,發現時區不對。
echo "當前時間為:" . date("Y-m-d H:i:s");
php時區配置:php.ini,搜索"date.timezone",配置成如下
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = PRC
在apache配置文件httpd.conf中添加:
##################################################################### #第一步: #裝載php模塊,其實就是指php語言包的一個文件。要給出php5apache2_4.dll的完整目錄。 LoadModule php5_module "D:/DevTools/php-5.6.40-Win32-VC11-x64/php5apache2_4.dll" #第二步: #告知apache,凡是".php"后綴文件,找php語言模塊(這里稱為application/x-httpd-php) <FilesMatch "\.php$"> setHandler application/x-httpd-php </FilesMatch> #第三步 #配置php.ini的路徑 PHPIniDir "D:/DevTools/php-5.6.40-Win32-VC11-x64" #####################################################################
10、php添加對mysql模塊的支持
修改php.ini,重啟apache。
11、php測試mysql模塊
首先安裝msyql軟件,安裝過程略。
修改a.php:
<!DOCTYPE html> <html> <head> <title>a.php</title> </head> <body> <?php echo 'hello world<br/>'; echo "當前時間為:" . date("Y-m-d H:i:s"); #連接數據庫 $conn = mysqli_connect("localhost","root",""); #判斷是否連接成功 if(!$conn){ echo "失敗"; } //選擇數據庫 mysqli_select_db($conn,"db_test"); //准備sql語句 $sql = "select * from t_stu"; //發送sql語句 $obj = mysqli_query($conn,$sql); //echo "<center>"; echo "<table border = 1 cellspacing = '0' cellpadding = '10'>"; echo "<th>編號</th><th>姓名</th><th>年齡</th><th>操作</th>"; while($row = mysqli_fetch_assoc($obj)){ echo "<tr>"; echo '<td>'.$row['id'].'</td>'; echo '<td>'.$row['name'].'</td>'; //echo '<td>'.$row['password'].'</td>'; //echo '<td>'.$row['address'].'</td>'; //echo '<td>'.$row['sex'].'</td>'; echo '<td>'.$row['age'].'</td>'; echo '<td><a href = "del.php?id='.$row['id'].'">刪除</a>/<a href = "update.php?id='.$row['id'].'">修改</a></td>'; echo "</tr>"; } echo "</table>"; echo "<a href = 'add.php'>添加</a>"; //echo "<center>"; //關閉連接 mysqli_close($conn); ?> <?php echo "<pre>"; print_r($_SERVER); echo "</pre>"; echo "<table border='1'>"; foreach($_SERVER as $key => $value){ echo "<tr>"; echo "<td>$key</td>"; echo "<td>$value</td>"; echo "</tr>"; } echo "</table>"; ?> </body> </html>
瀏覽器訪問http://localhost/a.php,結果: