php模塊安裝
『壹』 php如何把自身進程設置為系統進程
進程管理-防止進程成為僵屍進程
創建好了進程,那麼怎麼對子進程進行管理呢?
使用信號,對子進程的管理,一般有兩種情況:(推薦學習:PHP編程從入門到精通)
posix_kill():此函數並不能顧名思義,它通過向子進程發送一個信號來操作子進程,在需要要時可以選擇給子進程發送進程終止信號來終止子進程;
pcntl_waitpid():等待或返回fork的子進程狀態,如果指定的子進程在此函數調用時已經退出(俗稱僵屍進程),此函數將立刻返回,並釋放子進程的所有系統資源,此進程可以避免子進程變成僵屍進程,造成系統資源浪費;
孤兒進程:父進程掛了,子進程被pid=1的init進程接管(wait/waitpid),直到子進程自身生命周期結束被系統回收資源和父進程 採取相關的回收操作
僵屍進程:子進程exit退出,父進程沒有通過wait/waitpid獲取子進程狀態,子進程佔用的進程號等描述資源符還存在,產生危害:例如進程號是有限的,無法釋放進程號導致未來可能無進程號可用
**父進程中使用:pcntl_wait或者pcntl_waitpid的目的就是防止worker成為僵屍進程
作用:使用pcntl_wait()後,在子進程死掉後,父進程也會被停止**
最後我們通過下圖來簡單的總結和描述這個多進程實現的過程:
.png
進程管理-進程間通信
隊列:如Redis,推薦
socket:推薦
管道:實現復雜,且管道(pipe),使用文件形式存在,存在硬碟IO性能瓶頸
信號:承載信息量少,不好管理
進程管理-切換為守護進程
使用&實現
php deadloop.php &
相關資源:Nginx使用的php-fpm的兩種進程管理方式及優化-其它代碼類資源...
打開CSDN APP,看更多技術內容
php 進程管理,PHP 進程管理器 PHP-FPM_阿喵看海外的博客
php-fpm是PHP的一個進程管理器。php下面的眾多work進程皆有php-fpm進程管理器管理。 php-fpm的工作原理 php-fpm全名是PHP FastCGI進程管理器。php-fpm啟動後會先讀php.ini,然後再讀相應的conf配置文件,conf配置可以覆蓋php.ini的配置。
繼續訪問
php-fpm解讀-進程管理的三種模式_april2nd的博客_php-fpm...
php-fpm進程管理一共有三種模式:ondemand、static、dynamic,我們可以在同一個fpm的master配置三種模式,看下圖1。php-fpm的工作模式和nginx類似,都是一個master,多個worker模型。每個worker都在accept本pool內的監聽套接字(linux已不存在驚...
繼續訪問
淺談PHP進程管理
這篇文章是對之前一篇文章的補充和改進, 創建一個主(master)進程,主進程安裝定時器,每隔5分鍾檢測一次隊列長度,根據隊列長度計算需要的worker進程, 然後創建或者殺掉子進程。這樣做的好處是防止隊列堆積,任務得不到及時處理。更新業務代碼,只需要reload操作即可。 整個流程有以下知識點: 創建守護進程的步驟: 設置默認文件許可權 fork一個進程,父進程退出 調用setsid創建一個新的會話 將當前工作目錄更改為根目錄 關閉不再需要的文件描述符 使用信號實現定時器 上一篇定時器依賴於系統的定時任務,這次使用鬧鍾信號實現,php 5.3.0以下的版本依賴於ticks,
php 腳本 fpm緩存,PHP生命周期及fpm(FastCGI進程管理器)的運作方式
PHP在web方式中如何改了文件就立即生效的,重要的幾個概念:sapi: 可以簡單的理解為php引擎對外的一個統一介面,使得php可以和外部程序進行交互php的生命周期中關鍵四個調用: MINT -> RINT -> RSHUTDOWN -> MSHUTDOWNfpm: fastcgi進程管理器fpm方式的流程就是:fpm通過sapi介面與php進程交互1.fpm啟動會調用各擴展...
繼續訪問
Linux下搭建PHP開發環境,Php-Fpm進程管理。_黑夜開發者的博客
目前PHP項目開發幾種比較流行的架構搭建中,LNMP在性能方面是最好的,正因為如此,使得LNMP架構逐漸流行起來,今天,前面提到了Nginx部署,由於項目實際環境的需要,今天就在說一下怎麼部署PHP。 環境 ...
繼續訪問
php而為,為高負載而生的 PHP 進程管理器 —— PHP-PM (PPM)
PHP-PM 可以用於php應用程序的進程管理,增壓和負載均衡.它使用 ReactPHP 實現php的事件驅動和非阻塞I/O。 它是基於 ReactPHP,最好是工作在基於請求-響應式的框架,像Symfony的HTTPKernel。這樣做是為了減少php啟動(包括變數聲明,載入和...
繼續訪問
最新發布 php進程管理
php 進程管理 tasks 過多
繼續訪問
PHP進程實現&管理
運行環境為Linux,模式為CLI DEMO /*要創建的子進程*/ $manager = [ 'work1', 'work2', 'work3', ]; /*當前進程名稱*/ $status = file_exists('/proc/' . getmypid() . '/status'); $bash = '-'; if ($status) { $bash = file('/proc/' . getmypid() . '/status', FILE_IGNORE.
繼續訪問
php的管理進程管理利器--php-fpm_weixin_33778778的博客
mod_php 模式是將php模塊安裝到apache中,所以每一次apache結束的請求呢,都會產生一條進程,這個進程就完整的包括php的各種運算計算等操作。 從圖中我們很清晰的可以看到,apache每接收一個請求,都會產生一個進程來連接php通過sapi來完成請求...
繼續訪問
php-frm進程管理,PHP內核探索-進程管理
進程管理方式首先我們了解一下php的三種不同的進程管理方式:static:靜態管理進程。在啟動時,master按照pm.max_children配置fork出對應數量的work進程,即work的進程是固定不變的。dynamic:動態管理進程。在fpm啟動時先按照pm.start_servers初始化一定數量的work進程,運行期間如果master發現空閑work進程低於pm.min_spare_s...
繼續訪問
理解php-fpm的兩種執行方式
前段時間配置php-fpm的時候,無意間發現原來他還有兩種執行方式。與Apache一樣,他的進程數也是可以根據設置分為動態和靜態的。關於Apache的工作方式及對應的設置方法,我已經在《Ubuntu下配置Apache的Worker模式》一文中寫出,這里不再多說。 而php-fpm也是同樣存在兩種方式,一種是直接開啟指定數量的php-fpm進程,不再增加或者減少;另一...
繼續訪問
php進程原理_PHP進程管理器php-fpm的工作原理
PHP進程管理器php-fpm的工作原理發布時間:2020-07-21 17:46:39來源:億速雲閱讀:133作者:小新今天小編給大家分享的是PHP進程管理器php-fpm的工作原理,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。php-fpm是什麼php-fpm是PHP的一個進程管理器。php下面的眾多work進程皆有php-fpm進程管...
繼續訪問
如何管理php常駐進程,一看就懂系列之 如何實現與控制php常駐進程-Go語言中文社區...
前言關於如何實現與控制php常駐進程,不管是google還是上進行搜索,都沒有感覺看起來賞心悅目的解答,於是決定自己動手總結下。有同學會問了,整這個干甚?簡單的說就是,可以讓一個php腳本一直處於運行的狀態。從而實現將項目中某些耗時操作非同步化,進隊列後由php腳本取出再執行。有同學又會問了,直接在伺服器直接命令「php test.php &」,不就可以實現了?那麼這樣做的話有三點...
繼續訪問
PHP-FPM(PHP進程管理器)
PHP-FPM
繼續訪問
php 進程管理,從 0 到 1 優雅的實現 PHP 多進程管理
_| |_ __ __ _ _ __ _ _| |_ ___| '_ \ / _` | '__| | | | __/ _ \| | | | (_| | | | |_| | || (_) ||_| |_|\__,_|_| \__,_|\__\___/ .TIGERB.cnAn object-oriented multi process manager for PHPVersion: 0...
繼續訪問
php-fpm進程管理的三種模式
轉載自 php-fpm解讀-進程管理的三種模式 —程序媛大麗 標明轉載以示尊重 感謝原作者的分享。 php-fpm進程管理一共有三種模式:ondemand、static、dynamic,我們可以在同一個fpm的master配置三種模式,看下圖1。php-fpm的工作模式和nginx類似,都是一個master,多個worker模型。每個worker都在accept本pool內的監聽套接字(linu...
繼續訪問
php 進程管理那點事
之前本地開發和環境一直用的集成環境,最近新項目 集成了php7+nginx 跑了一段時間發現偶爾 有php進程退出的情況 排查原因 nginx log: 1111 upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after ...
繼續訪問
從0到1優雅的實現PHP多進程管理
_ | | _ __ __ _ _ __ _ _| |_ ___ | '_ \ / _` | '__| | | | __/ _ \ | | | | (_| | | | |_| | || (_) | |_| |_|\__,_|_| \__,_|\__\___/ ...
繼續訪問
熱門推薦 php-fpm安裝、配置與優化
轉載自:https://www.zybuluo.com/phper/note/89081 1、php中fastcgi和php-fpm是什麼東西 最近在研究和學習php的性能方面的知識,看到了factcgi以及php-fpm,發現我對他們是少之又少的理解,可以說幾乎是一無所知,想想還是蠻可怕的。決定仔細的學習一下關於這方面的知識。 參考和學習了以下文章: 1. mod_php和
繼續訪問
php-fpm的兩種進程管理模式
php-fpm的兩種進程管理模式 php-fpm的進程數也是可以根據設置分為動態和靜態的。 一種是直接開啟指定數量的php-fpm進程,不再增加或者減少; 另一種則是開始的時候開啟一定數量的php-fpm進程,當請求量變大的時候,動態的增加php-fpm進程數到上限,當空閑的時候自動釋放空閑的進程數到一個下限。 這兩種不同的執行方式,可以根據伺服器的實際需求來進行調整。 這里先說一下涉及
繼續訪問
7、Php-Fpm進程管理
1、進程管理 php-fpm採用的是master-worker的進程方式。其中, master負責監聽埠,等待鏈接;其次,注冊信號,可以通過信息好master進行管理 worker負責處理具體的邏輯 如下圖所示 2、信號管理 master進程可以理解如下信號 信號 含義 INT, TERM 立刻終止 ...
繼續訪問
php進程式控制制
簡介 PHP的進程式控制制支持實現了Unix方式的進程創建, 程序執行, 信號處理以及進程的中斷。 進程式控制制不能被應用在Web伺服器環境,當其被用於Web服務環境時可能會帶來意外的結果。 這份文檔用於闡述每個進程式控制制函數的通常用法。關於Unix進程式控制制的更多信息建議您查閱 系統文檔中關於fork(2),waitpid(2),signal(2)等的部分或更全面的參考資料比如 《Unix環境高級編程》
繼續訪問
php進程管理
php 進程管理
『貳』 win2008伺服器怎麼安裝php
在Windows Server 2008下配置PHP環境特別的快,只需要滑鼠點點就可以了。
1,下載PHP5.2系列版本,目前5.2系列比5.3系列兼容性更好。其中又分為Non Thread Safe和Thread Safe版本,如果要用FastCGI模式運行PHP,就選擇Non Thread Safe版本,如果要用ISAPI模式運行PHP,就選擇Thread Safe版本。
2,開啟IIS7:點擊「開始」菜單上面的「伺服器管理器」==> 角色==> 添加角色==> 點下一步==> 選上II7.5 ==> 點下一步==> 一定選上CGI ==> 開啟安裝IIS
3,雙擊下載下來的PHP安裝包,開始安裝PHP,一直點next就能完成安裝,
勾選的模塊:EXIF,GD2,Mcrypt,Mhash,Ming,Mysql,OpenSSL,SOAP,Sockets,XML-RPC,XSL,ZIP
再點next == > install 即可安裝完成
4,檢查PHP有沒有安裝成功,並且查看php.ini的存放路徑
打開 控制面板==> 管理工具==> Internet 信息服務(IIS)管理器 ,再隨意創建一個站點,按下圖進行查看:
再到該站點的目錄下,創建一個文本文件,改名成index.php,內容是:
<?php phpinfo();>
再訪問這個站點,即可顯示PHPINFO頁面,而且要記下php.ini的存放路徑,如下圖:
5,PHP安全設置(重要)
打開剛才記下的php.ini的存放路徑。編輯這個文件:
在最低下加入這兩行:
disable_functions = exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,dl,popen,show_source
cgi.fix_pathinfo=0
然後重啟IIS讓配置生效就這樣了,我剛趁著我在後盾網的下課時間問的老師,老師就這樣說的,希望你能解決麻煩٩(๑^o^๑)۶加油
『叄』 PHP的擴展模塊怎麼添加
在PHP/etc 文件夾中加入擴展
在PHP 文件夾下的php.ini文件里 有很多dll文件的地方加入一行 你所添加的擴展的名字xxxx.dll
或者 是 在php.ini中直接打開對應的擴展 ,將目標行的 ; 給去掉
哦,對了,最後記得要重新啟動PHP的伺服器
『肆』 如何安裝 php 的zip模塊
zip 是php的一個擴展,用於支持zip文件壓縮和解壓
按照下面的步驟配置:
1. 用記事本編輯你的 php.ini 文件,搜索 zip.dll 然後把這一行前面的 ; (分號)去掉,保存 php.ini 注意,這一行的上面應該有很多諸如 ;php_***.dll 的,否則搜索的位置不正確,再次搜索
2. 重新啟動你的 WEB 伺服器。IIS直接在 開始 運行 裡面輸入 iisreset, Apache 通過管理器先停止再啟動即可
『伍』 怎樣在apache2.2.17中載入PHP模塊
打開apache官方網站 http://archive.apache.org/dist/httpd/binaries/win32/ 或者鏡像網站 http://apache.mirror.phpchina.com/httpd/binaries/win32/,下載裡面的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是否成功啟動。在瀏覽器地址欄里輸入: http://localhost/或 http://127.0.0.1/,如果出現「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的官方網站 http://www.php.net/downloads.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:
LoadMole php5_mole 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();
?>
在瀏覽器地址欄里輸入 http://127.0.0.1/ 或 http://localhost/ ,你就會看到php版本信息了。到此為止,php和apache就已經成功的安裝了。這里有個細節:apache的配置文件 httpd.conf 中的目錄分割符號是「/」,而 PHP 的配置文件 php.ini 里的目錄則要求是反斜線 「 \」,不要搞混了哦。MYSQL的安裝就簡單了。到官方網站 http://dev.mysql.com/downloads/mysql/5.0.html,下載windows平台下的 mysql ,選擇 Windows ZIP/Setup.EXE (x86) 最新版本是 5.1.51 ,下載即可。直接安裝,安裝完成後,可以進入配置向導,設置mysql資料庫密碼。一切OK。
關於mysql的安裝與配置見:phpMyAdmin安裝配置方法和問題解決
pharmar安裝過程中遇到的錯誤:
在 Windows 下安裝 PHP 後 Apache 出現 LoadMole takes two arguments 的錯誤,這個主要原因就是httpd.conf中的這句:
LoadMole php5_mole D:\Program Files\PHP\php5apache2_2.dll
解釋程序把Program Files中的空格當成了兩個參數的分隔符號,因此語句中不能出現空格。在網上找了半天也沒找到解決方法,最後用一級目錄符號才解決問題,改成如下:
LoadMole php5_mole ../php/php5apache2_2.dll
因為apache安裝在D:\Program Files\Apache\目錄下,PHP安裝在D:\Program Files\php\,因此../就表示D:\Program Files\目錄,這個終於搞定了,希望大家在安裝與配置過程中多動動腦筋總會有辦法的。
『陸』 如何安裝PHP模塊
php模塊安裝的方式
1、靜態安裝
將先將在安裝php之前先將需要安裝的程序裝上,如ftp、mhash、mcrypt……安裝完成後,解壓php安裝包,執行./configure
--with-ftp
--with-mhash
--wth-mcrypt等等。後面具體跟的參數可以參看./configure
--help查看。編譯好後,執行make
&&
make
install
就行了。
2、動態安裝
而在往往我們進行編譯php時經常會忘記添加某擴展,後來想添加擴展,但是因為安裝php後又裝了一些東西如PEAR等,不想再重新裝php,於是可以採用phpize來動態載入需要安裝的模塊。
具體實現方法如下(這里以忘記安裝pdo_mysql模塊為例):
cd
/root/source/php-5.3.10/ext/pdo_mysql
/usr/local/php/bin/phpize
在安裝完mysql後,並不是進入/root/source/mysql-5.5.21目錄運行phpize,而是進入php的源文件中要增加的擴展模塊的文件目錄---也就是/root/source/php-5.3.10/ext/pdo_mysql目錄執行phpize。如果不是這樣操作的話就會提示下面的錯誤:
Cannot
find
config.m4.
Make
sure
that
you
run
'/usr/local/php/bin/phpize'
in
the
top
level
source
directory
of
the
mole
關於上面的這個錯誤,我不得不鄙視下網上有些自以為是的傢伙,自認為對所有的安裝操作很懂,報上面的錯誤的時候,去修改源代碼,搞的亂七八糟,誤人子弟。根本不按php官方的文檔操作。
目錄/root/source/php-5.3.10/ext/pdo_mysql
,在運行phpize命令前並沒有configure文件,只有config.m4文件。運行phpize就生成了一個可執行的configure文件。此時就可以按照下的方法編譯了:
./configure
--with-php-config=/usr/bin/php-config
(還可以加一些其他的參數,可通過./configure
--help查看)
make
make
install
編譯完成後會提示擴展模塊生成在/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626目錄。
修改php.ini文件
vi
/usr/local/php/etc/php.ini
在其文件結尾加入下面的內容:
extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626"
extension=pdo_mysql.so
安裝完成後,重啟php-fpm和web伺服器。(因為我用的是php-fpm和tengine,如果用的是apache則也重啟相應的程序,重新載入就行了)
『柒』 apache與php的安裝 現在最新版本的安裝怎麼安裝啊 裝了前面那個裝後面那個都不行。求詳細教程!!!
Php 安裝在d:\php下
Aphache安裝在d:\apache2下
網頁主目錄在d:/apache2/htdocs
apche的配置:apache下的conf 文件夾中的httpd.conf文件
1.安裝
2.改:Listen 85 或 8085
3.改:DocumentRoot: "d:/apache2/htdocs"
4.改:<Directory: "d:/apache2/htdocs">
5.加:DirectoryIndex index.html index.html.var index.php index.htm
開始將php以mole方式與Apache相結合,使php融入Apache
加上:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
LoadMole php5_mole D:/php/php5apache2_2.dll
PHPIniDir "D:/php"
如果是apache2.0則應改為 LoadMole php5_mole D:/php/php5apache2.dll
php的配置
解壓到d:\php
1.改php.ini-dist文件為php.ini
2.改doc_root =d:/apache2/htdocs
3.改extension_dir = "d:\php\ext"
4.extension= php_mssql.dll
extension=php_gd2.dll
extension=php_mbstring.dll
/*如果上一步載入了其它模塊,就要指明模塊的位置,否則重啟Apache的時候會提示「找不到指定模塊」的錯誤,這里介紹一種最簡單的方法,直接將php安裝路徑、裡面的ext路徑指定到windows系統路徑中——在「我的電腦」上右鍵,「屬性」,選擇「高級」標簽,點選「環境變數」,在「系統變數」下找到「Path」變數,選擇,雙擊或點擊「編輯」,將「;D:\php;D:\php\ext」加到原有值的後面
*/
第二種
Apacher 的配置
Apache伺服器安裝成功後,接下來需要對它進行配置,便於和PHP的整合使用。配置Apache伺服器主要是在「C:\Apache2\conf」目錄下的httpd.conf文件中進行的,用記事本打開該文件。
(1)定位到「DocumentRoot」一行,可以將路徑修改為你認為合適的路徑,這里設置為「DocumentRoot "D:/webpage"」。
(2)定位到「DirectoryIndex index.html index.html.var」行,在其後添加一個PHP默認頁,通常是index.php,添加代碼為:
DirectoryIndex index.html index.html.var index.php。
(3)為了使Apache可識別PHP的相關擴展名,搜索並定位到如下部分:
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
在其後面添加如下兩行:
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
(4)指定PHP模塊,找到並定位到如下行:
#LoadMole ssl_mole moles/mod_ssl.so
在其後添加一行:
LoadMole php5_mole c:\php5\php5apache2.dll
使它指向PHP5目錄下的php5apache2.dll文件,路徑一定要准確。
注意:在設置存放路徑中,使用的分隔符是斜杠「/」而不是「\」。在對httpd.conf文件進行修改之後,要重新啟動Apacche伺服器才能生效。
到此Apache伺服器的安裝和配置已經完成。你可以在指定的路徑下面放置一個文件,如user.txt,然後在瀏覽器中輸入「http://127.0.0.1/updown/user.txt」,就可以打開該文件。
Windows下PHP的安裝配置
接下來安裝PHP。PHP同樣也是一種免費軟體,可以在http://www.php.net/downlo ads.php地址下載。
下載的文件是一個ZIP壓縮文件,可以直接將其解壓到一個目錄下,無需安裝。這里將其解壓到「C:\php5」目錄下,如圖1所示。
圖1 PHP文件包
具體的連接PHP和Apache的步驟如下。
(1)復制C:\php5\目錄下的.dll文件到C:\windows\ system32\(如果是Windows 2000操作系統,則為C:\WINNT\ system32\)目錄下。
(2)把C:\php5\目錄下的pphp.ini-dist文件復制到C:\windows\(如果是Windows 2000操作系統,則為C:\WINNT\)目錄下。將php.ini-dist重命名為php.ini,並用記事本打開並進行入下操作。
① 定位到register_globals = Off,將Off改為On;
② 定位到extension_dir =".\",將路徑改為"C:\php5\ext";
③ 查找到Windows Extensions,將
; extension=php_gd2.dll
; extension=php_mysql.dll
前面的「;」去掉,如果需要使用其他的模塊,把前面的「;」去掉就可以了。然後保存並關閉該文件。
這就是簡單的PHP配置,在PHP的官方論壇上可以查看到更多的詳細配置。由於使用版本的不同,php.ini的配置也存在差別。本書光碟中提供了配置好的php.ini和httpd.conf文件。
PHP配置完成以後,需要重新啟動Apache伺服器,然後在記事本中輸入如下代碼:
<?php phpinfo() ; ?>
將該代碼保存到D:/webpage 目錄下,文件名為cheshi.php。在瀏覽器中輸入「http://127.0.0.1/updown/cheshi.php」,如果配置正確,則顯示如圖3所示的頁面。
『捌』 PHP典型模塊與項目實戰大全:PHP能做什麼
PHP能做什麼
PHP初學者的一個主要疑問就是 PHP能用來做什麼?按照PHP手冊上的經典解釋就是 PHP能做任何事!
下面為讀者具體的介紹PHP主要的應用領域 PHP是運行於服務端的腳本程序 因此可以用其完成任何CGI(Common Gateway Interface)程序能夠完成的工作 CGI工作流程如圖 所示 CGI主要用於完成在B/S(Browser/Server)模式下的應用開發 例如 動態頁面輸出 獲取表單數據 創建或接收Session/Cookies
圖 CGI工作流程示意圖
PHP主要應用於以下 個領域
服務端腳本
伺服器腳本運行模式需要具備 個條件 PHP解析器(CGI或者伺服器模塊) Web伺服器 Web瀏覽器
具體執行流程 首先運行Web伺服器 然後安裝並配置PHP 最後可以用Web瀏覽器訪問PHP程序的輸出 即瀏覽服務端的PHP頁面(或數據輸出)
命令行腳本
通過命令行模式運行PHP腳本 這種模式下不需要伺服器的支持或者依賴瀏覽器的觸發 在命令行腳本模式下僅需要PHP解析器來執行 通常這種方法被用在Windows和Linux平台下做日常運行腳本使用 如某些守護程序等 當然這些腳本也可以用來處理簡單的文本
編寫桌面應用程序
PHP也許並不完全適合用來做圖形界面應用程序 但是開發人員同樣可以在客戶端程序應用某些PHP的高級特性 通過使用PHP GTK來編寫這些程序 PHP GTK是PHP的一個擴展 並不包含在標準的開發包中 開發人員需要單獨編譯它 通過PHP GTK可以建立獨立的GUI(用戶圖形界面)應用程序 例如 音頻播放器 文本編輯器 資料庫後台等
返回目錄 PHP典型模塊與項目實戰大全
編輯推薦
Java Web開發詳解
PHP Web開發學習實錄
lishixin/Article/program/PHP/201311/21535
『玖』 安裝PHP擴展模塊 為PHP添加mcrypt模塊了
上面提供的靜態編譯的方法,是把所有的模塊都打包進 php 主程序中,這樣做的好處是,模塊直接聯系緊密,調用該模塊中的函數效率會更高,免去了 尋找模塊,載入模塊的時間。
靜態編譯也就是 全部重新編譯了,只是根據需求,增燃陪加了configure後面的參數。
還有一種是 所謂的 動態編譯 比如現在有一個網站,需要增加某個模塊,但是網站不允許停頓如此長的時間,那麼就刻意選擇這樣。
以 curl模塊為例
進入 php 的 源碼包的 ext 目錄下的 curl
執行
/usr/local/php/bin/phpize
會生成只針對此模塊的租段腔 configure 文件弊衫
./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=[dir]
make
make install
然後 後顯示出來 編譯後的 curl.so 所在的路徑
復制此文件 到 模塊目錄下 配置php.ini 文件 重啟 apache 或者 php-cgi
配置就生效了。