本文目錄一覽:
如何安裝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
php是什麼的功能模塊隨之啟動與關閉?
我們從未手動開啟過PHP的相關進程,它是隨著Apache的啟動而運行的;2. PHP通過mod_php5.so模塊和Apache相連(具體說來是SAPI,即伺服器應用程序編程介面);3. PHP總共有三個模塊:內核、Zend引擎、以及擴展層;4. PHP內核用來處理請求、文件流、錯誤處理等相關操作;5. Zend引擎(ZE)用以將源文件轉換成機器語言,然後在虛擬機上運2113行它;6. 擴展層是一組函數、類庫和流,PHP使用它們來執行一些特定的操作。比如,我們需要mysql擴展來連接MySQL資料庫;7. 當ZE執行程序時可能會需要連接若干擴展,這時ZE將控制權交給擴展,等處理完特定任務後再返還;8. 最後,ZE將程序運行結果返回給PHP內核,它再將結果傳送給SAPI層,最終輸出到瀏覽器上。
如何在編譯好的PHP環境中安裝PHP擴展模塊
1、先進入php解壓縮後的源碼包中,找到要安裝的擴展模塊的目錄。
[root@redhat5 sockets]# cd /home/soft/php-5.2.12/ext/sockets
在sockets目錄下面以絕對路徑運行phpize程序,這時會自動生成sockets的configure程序,在sockets目錄下面可以看到。
[root@redhat5 sockets]# /home/webserver/php5.2.12/bin/phpize
2、進行編譯安裝
[root@redhat5 sockets]# ./configure –with-php-config=/home/webserver/php5.2.12/bin/php-config
[root@redhat5 sockets]#make
[root@redhat5 sockets]#make install
執行完make install屏幕上會提示sockets.so存放的路徑,然後把它複製到php的extensions目錄中,例如我的路徑為 /home/webserver/php5.2.12/lib/php/extensions
3、修改php.ini文件
找到extension_dir = “./” 這行,修改為:
extension_dir = “/home/webserver/php5.2.12/lib/php/extensions/”
然後再新增加一行:
extension=sockets.so
4、重啟apache即可生效。
如何安裝新的PHP擴展模塊
php安裝好後,可能在初次安裝時,會有些模塊會有遺漏,但是我們又不想重新編譯php,因為耗時是比較長的。我們可不可以在不重新編譯安裝php的情況下,來為php單獨添加某一個模塊呢?查找資料,發現還是有方法的,重點就是phpize了,於是寫了這篇文章.
下面我們就以單獨為php載入mysqli模塊為例,演示如何動態為php添加模塊。
1、找到php原碼安裝文件
2、cd /home/php/ext/myslqi
3、運行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make make install
6、安裝完成之後會在系統/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/這個目錄下面生成mysqli.so的庫文件
7、編輯php.ini文件,指定php到哪人目錄讀取模塊
vi /usr/local/php/etc/php.ini
extension_dir=」/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重啟php服務 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步驟正確,你的人口也不差的情況下,應該這樣php的動態模塊載入就完成了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297618.html