apachephpmod的簡單介紹

本文目錄一覽:

apache_mod_php

 Apache對於php的解析,就是通過眾多Module中的php Module來完成的,載入php是通過php5這個模塊來實現的,下面通過圖來說明Apache載入php模塊的過程及代碼如何載入php。

把php最終集成到Apache系統中,還需要對Apache進行一些必要的設置。這裡,我們就以php的mod_php5 SAPI運行模式為例進行講解,至於SAPI這個概念後面我們還會在其它的文章中講解。

假定我們安裝的版本是Apache2 和 Php5,那麼需要編輯Apache的主配置文件http.conf,在其中加入下面的幾行內容:

Unix/Linux環境下:

LoadModule php5_module modules/mod_php5.so

AddType application/x-httpd-php .php

註:其中modules/mod_php5.so 是X系統環境下mod_php5.so文件的安裝位置。

Windows環境下:

LoadModule php5_module d:/php/php5apache2.dll

AddType application/x-httpd-php .php

註:其中d:/php/php5apache2.dll 是在Windows環境下php5apache2.dll文件的安裝位置。

這兩項配置就是告訴Apache Server,以後收到的Url用戶請求,凡是以php作為後綴,就需要調用php5_module模塊(mod_php5.so/ php5apache2.dll)進行處理。

怎樣在apache2.2.17中載入PHP模塊

打開apache官方網站 或者鏡像網站 ,下載裡面的apache_2.2.17-win32-x86-no_ssl.msi安裝文件。其中,同一版本有兩種類型:no_ssl和openssl,openssl多了個ssl安全認證模式,它的協議是HTTPS而不是HTTP,這就是帶有SSL的伺服器與一般網頁伺服器的區別了。一般情況下,我們下載no_ssl版本的就ok了。下載好apache安裝文件後,點擊安裝,在連續3次next後,將進入server information配置界面,要求輸入network domain、server domain和網站管理員的郵箱地址,普通用戶可以隨便按照格式填一下就行了。再次按Next後,出現選擇安裝路徑的界面,默認的路徑比較長,pharmar把安裝路徑修改為:「D:\Program Files\Apache\」,繼續安裝,直到完成。安裝完畢,apache就自動啟動,可以測試apache是否成功啟動。在瀏覽器地址欄里輸入: 或 ,如果出現「It works.」,那麼恭喜你,apache已經成功安裝了;同時在電腦右下角的任務欄里有一個綠色的apache伺服器運行圖標。apache還有一個配置文件:httpd:conf 需要配置,以便php運行。位置為:D:\Program Files\Apache\conf目錄里。打開httpd:conf:

1)、查找「DocumentRoot」,這裡是指定主頁放置的目錄。默認是:「D:\Program Files\Apache\htdocs」,你可以使用默認的目錄,也可以自己定義一個,如:「D:/PHP」。注意:目錄末尾不要加「/」。

2)、查找「DirectoryIndex」,這裡是默認首頁文件名,可以在index.html 的後面加入index.php等。每種類型之間都要留一個空格。

3)、查找

Directory /

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

/Directory

修改為:

Directory /

Options FollowSymLinks

AllowOverride None

Order deny,allow

allow from all

/Directory

如果不改這裡的話,可能會出現 You don’t have permission to access / on this server. 這樣的錯誤提示,尤其在改變了默認主頁的路徑後。注意:每次修改httpd:conf文件後,都要重啟apache伺服器。另外,如果你的win32系統上同時也運行iis伺服器,那麼就要先停止iis伺服器的運行,然後再啟動apache,否則apache伺服器無法啟動。

Php的安裝與配置方法首先從php的官方網站 下載windows版本的,有兩種版本:PHP 5.3.4 zip package和PHP 5.3.4 installer,目前最新版本就是5.3.4,pharmar使用的是5.3.4版本。PHP 5.3.4installer為自動安裝方式,雖然比較自動化,但在很多方面受到限制,因此pharmar不推薦使用這種方式,下面介紹PHP 5.3.4zip package壓縮包方式下的手動安裝。1)、將PHP的壓縮包zip解壓到一個目錄下,推薦:「C:/PHP」,pharmar的是D:\Program Files\Php。

2)、將PHP目錄(D:\Program Files\Php)下的 php.ini-dist 文件重命名為 php.ini,PHP的配置文件就是它,修改以下幾個地方,修改好後把 php.ini 文件複製到 C:\WINDOWS\ 目錄里:

extension_dir=”D:\Program Files\Php\ext” ,指向php文件夾下放置「php_*.dll」文件的路徑。PHP4和PHP5的路徑在這裡有所區別。

doc_root=”D:\PHP” ,指向前面apache設置的首頁位置;

default_charset=”gb2312″ ,修改默認字符集,這裡,如果前面有分號「;」,去掉這個分號;

register_globals=Off 改為 register_globals=On ,使傳遞全局變數有效;

extension=php_dba.dll 如果前面有分號,取消分號,以下同;

extension=php_dbase.dll

extension=php_gd2.dll GD庫做圖,一般用於圖形驗證碼;

extension=php_mysql.dll 用於連接MYSQL資料庫;

3)、將PHP目錄下的 php5ts.dll 文件拷貝到 C:\WINDOWS\system32 目錄。

4)、最後修改 Apache 的 httpd.conf 文件。在該文件的末尾添加如下2行,表示以模塊方式安裝PHP進入Apache:

LoadModule php5_module D:/Program Files/Php/php5apache2_2.dll

AddType application/x-httpd-php .php注意:第一行的目錄路徑要更新為當前版本的apache動態鏈接庫,比如這裡我使用的是apache2.2.17版本和php5.3.4,那這個文件必須是php5apache2_2.dll,而不能是php5apache.dll、php5apache2.dll等。第二行為php腳步的後綴。

php4版中,需要添加一行 AddType mod_php4.c,而在php5中,就不需要這樣的一行 AddType mod_php5.c了,php5已經集成,否則 apache 啟動不了。以上就完成了apache和php的配置過程了,重啟apache。在伺服器的默認目錄「D:\Program Files\Apache\htdocs」里新建文件index.php,寫上如下代碼:

?php

phpinfo();

?

在瀏覽器地址欄里輸入 或 ,你就會看到php版本信息了。到此為止,php和apache就已經成功的安裝了。這裡有個細節:apache的配置文件 httpd.conf 中的目錄分割符號是「/」,而 PHP 的配置文件 php.ini 里的目錄則要求是反斜線 「 \」,不要搞混了哦。MYSQL的安裝就簡單了。到官方網站 ,下載windows平台下的 mysql ,選擇 Windows ZIP/Setup.EXE (x86) 最新版本是 5.1.51 ,下載即可。直接安裝,安裝完成後,可以進入配置嚮導,設置mysql資料庫密碼。一切OK。

關於mysql的安裝與配置見:phpMyAdmin安裝配置方法和問題解決

pharmar安裝過程中遇到的錯誤:

在 Windows 下安裝 PHP 後 Apache 出現 LoadModule takes two arguments 的錯誤,這個主要原因就是httpd.conf中的這句:

LoadModule php5_module D:\Program Files\PHP\php5apache2_2.dll

解釋程序把Program Files中的空格當成了兩個參數的分隔符號,因此語句中不能出現空格。在網上找了半天也沒找到解決方法,最後用一級目錄符號才解決問題,改成如下:

LoadModule php5_module ../php/php5apache2_2.dll

因為apache安裝在D:\Program Files\Apache\目錄下,PHP安裝在D:\Program Files\php\,因此../就表示D:\Program Files\目錄,這個終於搞定了,希望大家在安裝與配置過程中多動動腦筋總會有辦法的。

Apache2.2+PHP+mod_fcgid配置完成後Apache2.2啟動成功,但是測試index.php報錯

根據提示,你無權訪問這個文件,查看文件以及文件夾是否有讀取許可權

怎樣在Apache里修改PHP的配置

當使用

PHP

作為

Apache

模塊時,也可以用

Apache

的配置文件(例如

httpd.conf)和

.htaccess

文件中的指令來修改

PHP

的配置設定。需要有「AllowOverride

Options」或「AllowOverride

All」許可權才可以。

有幾個

Apache

指令可以使用戶在

Apache

配置文件內部修改

PHP

的配置。哪些指令屬於

PHP_INI_ALL,PHP_INI_PERDIR

PHP_INI_SYSTEM

中的哪一個,請參考附錄中的

php.ini

配置選項列表。

php_value

name

value

設定指定的值。只能用於

PHP_INI_ALL

PHP_INI_PERDIR

類型的指令。要清除先前設定的值,把

value

設為

none。

不要用

php_value

設定布爾值。應該用

php_flag。

php_flag

name

on|off

用來設定布爾值的配置指令。僅能用於

PHP_INI_ALL

PHP_INI_PERDIR

類型的指令。

php_admin_value

name

value

設定指定的指令的值。不能用於

.htaccess

文件。任何用

php_admin_value

設定的指令都不能被

.htaccess

virtualhost

中的指令覆蓋。要清除先前設定的值,把

value

設為

none。

php_admin_flag

name

on|off

用來設定布爾值的配置指令。不能用於

.htaccess

文件。任何用

php_admin_flag

設定的指令都不能被

.htaccess

virtualhost

中的指令覆蓋Apache

配置例子:

IfModule

mod_php5.c

php_value

include_path

“.:/usr/local/lib/php”php_admin_flag

engine

on

/IfModule

IfModule

mod_php4.c

php_value

include_path

“.:/usr/local/lib/php”php_admin_flag

engine

on

/IfModule

注意:PHP

常量不存在於

PHP

之外。例如在

httpd.conf

中不能使用

PHP

常量如

E_ALL

E_NOTICE

來設定

error_reporting

指令,因為其無意義,實際等於

0。應該用相應的掩碼值來替代。這些常量可以在

php.ini

中使用。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309715.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-04 19:31
下一篇 2025-01-04 19:31

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進位下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27

發表回復

登錄後才能評論