如何在Apache上運行PHP代碼


原文鏈接:https://www.apachelounge.com/viewtopic.php?t=2394

注:這是在某Apache論壇上看到的教程,內容是關於如何在Windows操作系統鍾設置Apache和PHP,最終使PHP得以在Apache這一Web服務器軟件上運行。下文的許多內容是對上述鏈接內容的翻譯,目的是為大家提供參考。

 

該安裝教程針對Windows系統,目的是為了建立本地服務器(可理解為localhost)。

 

能讓PHP在Apache上成功運行的方法有很多鍾,網上能找到許多,據原文的作者稱,他所介紹的方法屬於比較簡單直接的配置方法。

 

對於Apache 2.4.x版本,在開始前,先下載安裝VC++ redistribute,下載地址:

64位:https://aka.ms/vs/15/release/VC_redist.x64.exe

32位:https://aka.ms/vs/15/release/VC_redist.x86.exe

 

一、刪除原有的Apache和PHP 

由於原文作者使用解壓壓縮包的方式安裝Apache,為保證后續安裝不出錯,在此建議:如果之前你已經通過運行MSI安裝包的方式安裝了Apache,請通過以下步驟刪除Apache服務並卸載(或刪除)Apache軟件和PHP:

1. 以管理員身份運行命令提示符(或Windows Powershell),將目錄定位至Apache安裝目錄的bin子目錄下;

2. 用以下命令刪除Apache服務:

httpd -k uninstall

3. 最后再卸載或刪除Apache和PHP的文件夾即可。

 

二、安裝Apache

1. 下載Apache壓縮包,可在此下載:http://www.apachelounge.com/download/ 

2. 將壓縮包解壓縮到諸如C:\Apache或D:\Apache的目錄下;

3. 以管理員身份運行命令提示符,將目錄定位至Apache安裝目錄的bin子目錄下;

4. 輸入如下命令並回車:

httpd

 

如無意外,在輸入命令后,Apache將會啟動。在瀏覽器上輸入http://localhost會顯示"It Works!"字樣。如此,Apache的安裝已經完成,下一步是配置PHP於Apache上。在此之前,先在剛剛啟動Apache的命令行中長按Ctrl再按C,松開后即可關閉Apache服務。

 

三、配置PHP

1. 下載PHP7,可從以下地址下載: http://windows.php.net/download/,同樣也是下載壓縮包;

2. 將壓縮包解壓縮,將其中的內容放在諸如C:\PHP7或D:\PHP7鍾,盡量不要在Apache的根目錄下建立文件夾存放PHP的解壓文件;

3. 在這里,PHP是通過mod_fcgid模塊配置的(也可以說是通過mod_fcgid模塊將Apache和PHP"連接"起來)。在用到mod_fcgid模塊之前,我們先對PHP做一些配置上的改動:

(1)找到剛才解壓縮的PHP文件夾,用文本編輯器打開里面的php.ini-production文件,找到以";extension_dir"開頭的那一行,如下圖所示:

我這里已經把注釋符號";"刪掉了,在等號后面加上PHP文件夾中ext文件夾的絕對路徑,我這里是把PHP解壓到了D盤,因此,我的路徑就是"D:\php\ext"。

(2)在這個文件里還能激活數據庫MySQL和MySQLi插件,激活的方法就是把最前面的";"刪掉,這里建議把數據庫的插件激活,分別是:

extension=mbstring
extension=mysqli
extension=pdo_mysql

同時建議把op cache也激活,可在文件中添加以下語句:

zend_extension=php_opcache.dll

然后找到下面的文本,等號后面改成"On"或者1:

opcache.enable=On
opcache.cli_enable=On

(3)最后,將這個文件另存為php.ini,保存的位置不變。

 

將命令行定位置PHP文件的根目錄下,運行:

php -m

如無意外,PHP將運行,你會看到被載入的模塊列表。

 

四、用mod_fcgid模塊將Apache和PHP連接起來

(1)先下載mod_fcgid模塊,下載地址:

64位:https://www.apachelounge.com/download/VC15/modules/mod_fcgid-2.3.9-win64-VC15.zip

32位:https://www.apachelounge.com/download/VC15/modules/mod_fcgid-2.3.9-win32-VC15.zip

(2)將其中的mod_fcgid.so放到Apache根目錄下的modules文件夾中;

(3)編輯httpd.conf文件,該文件位於Apache根目錄下的conf文件夾中。在文件的末尾續上:

LoadModule fcgid_module modules/mod_fcgid.so

<IfModule fcgid_module>


   FcgidMaxProcesses 300
   FcgidMaxProcessesPerClass 300

   FcgidOutputBufferSize 65536
   FcgidConnectTimeout 10
   FcgidProcessLifeTime 0
   FcgidMaxRequestsPerProcess 0
   FcgidMinProcessesPerClass 0
   FcgidFixPathinfo 0
   FcgidProcessLifeTime 0
   FcgidZombieScanInterval 20
   FcgidMaxRequestLen 536870912
   FcgidIOTimeout 120
   FcgidTimeScore 3

   FcgidPassHeader Authorization

   FcgidInitialEnv PHPRC "C:\\php7" # 改成你的PHP根目錄,這條注釋一定要刪除,不然會出錯
   FcgidInitialEnv PATH "C:\\php7;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;" # 改成你的PHP根目錄,這條注釋一定要刪除,不然會出錯
   FcgidInitialEnv SystemRoot "C:\\Windows"
   FcgidInitialEnv SystemDrive "C:"
   FcgidInitialEnv TEMP "C:\\WINDOWS\\TEMP"
   FcgidInitialEnv TMP "C:\\WINDOWS\\TEMP"
   FcgidInitialEnv windir "C:\\WINDOWS"
   <Files ~ "\.php$">
      Options Indexes FollowSymLinks ExecCGI
      AddHandler fcgid-script .php
      FcgidWrapper "C:/php7/php-cgi.exe" .php # 改成你的PHP根目錄,這條注釋一定要刪除,不然會出錯
   </Files>
</IfModule>

然后保存,開啟Apache服務。

(4)另外,在上面的httpd.conf文件中,還能更改Apache服務的端口,只要在如下位置,改成你想要的設置的端口即可:

改成這樣以后,如果是本地服務器,開啟Apache服務后,可以通過localhost:8181看到"It Works"字樣。

(5)在PHP文件夾中的php.ini中,查找並激活下面的一行,后保存:

cgi.fix_pathinfo = 1

 

五、安裝Apache服務

為了方便,不妨將httpd.exe添加到系統路徑中,這樣就不用每次都將命令符定位至Apache根目錄下。

在命令行中運行以下命令安裝Apache服務:

httpd -k install

如此,含有PHP代碼的html文件就可以在依托Apache服務運行了。當然,html文件要存放在Apache根目錄下的htdocs文件夾下才行。例如,如果完全按照上面的設置,要訪問hello.html頁面,則可以在瀏覽器的地址欄中輸入localhost:8181/hello.html即可訪問。

 

關於如何在此基礎上安裝MySQL和phpMyadmin將在后續更新。


免責聲明!

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



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