配置php擴展(php擴展安裝方法)

本文目錄一覽:

如何安裝php的擴展bcmath

安裝php的擴展bcmath具體步驟如下(以下操作均在wdcp 2.4的環境中):

1、ssh登陸vps控制台後,進入要安裝的擴展的源碼目錄:cd /root/lanmp/php-5.2.17/ext/bcmath

2、運行phpize,這是wdcp中的路徑

configuring for:

php api version:

20041225

zend module api no: 20060613

zend extension api no: 220060519

3、編譯安裝:

./configure –with-php-config=/www/wdlinux/php/bin/php-config

make

make install

4、增加到配置文件php.ini里

vi /www/wdlinux/etc/php.ini

在最後增加:extension=bcmath.so

5、重啟服務

service httpd restart

service nginxd restart

然後就大功告成

怎麼配置linux服務器php的redis擴展

一、安裝php(如果php有問題建議刪掉重裝)

*1,首先從官網 下載php源碼後解壓,

*2,編譯安裝php(make install需要root)

# cd /php-NN (PHP解壓目錄,即源碼目錄)

# ./configure

–prefix=/usr/local/php –with-mysql=mysqlnd –with-mysqli=mysqlnd

–with-pdo-mysql=mysqlnd –with-iconv-dir –with-freetype-dir

–with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir

–enable-xml –disable-rpath –enable-bcmath –enable-shmop

–enable-sysvsem –enable-inline-optimization –with-curl –with-mcrypt

–enable-mbregex –enable-fpm –enable-mbstring –with-gd

–enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl

–enable-sockets –with-xmlrpc –enable-zip –enable-soap –enable-ftp

–with-apxs2=/usr/local/apache2/bin/apxs

(*注意此步的config需要許多參數,否則make install後的安裝目錄將缺少很多文件夾。

config執行的過程中注意看最後一步是否出現error,如果出現則說明缺少一些php需要的包。

比如jpeg,png,prce等,將錯誤複製到google查一下然後下載對應的包即可。)

# make

# make install (這個命令執行後系統將在/usr/local下創建php的安裝目錄)

到此需要注意兩個目錄,一是php的源碼目錄(應該是在/home/xxx下),二是php的安裝目錄(在/usr/local下)

*3,配置php.ini

# cp php.ini-development /usr/local/lib/php.ini (別忘了)

# vim /usr/local/lib/php.ini

在其中加入一句(隨便在哪加都可以,網上有中說法是要加[redis],其實都一樣):

extension=redis.so

二、安裝redis

*1,下載redis

# wget

*2,安裝

# cd ./redis-NN

# make

這樣就將redis安裝好了

可以通過/src/redis-server打開redis

三、將php擴展redis模塊

*1,到下載phpredis最新版

*2,將剛下好的壓縮包解壓到php源碼目錄下的ext中,即/home/xxx/php-NN/ext/phpredis

# mv phpredis-NN php-NN/ext/phpredis

*3,將phpredis加入php拓展模塊

# /usr/local/php/bin/phpize (如果在編譯php時configure沒有加足夠的參數可能會在目錄下缺少phpize)

# ./configure –with-php-config=/usr/local/php/bin/php-config (同樣後面參數也很重要)

# make

# make install

*4,重啟服務器(apache或nginx)

這樣在phpinfo中就能看到redis擴展了

最後打開redis(/src/redis-server)

用以下代碼測試是否可以工作

?php

$redis= newRedis();

$redis-connect(‘127.0.0.1’,6379);

$redis-set(‘name’,’xxx’);

echo$redis-get(‘name’);

?

如果遇到Fatal error: Uncaught exception ‘RedisException’ with message ‘Redis server went away’的問題那是因為你沒有打開redis

如何安裝新的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的動態模塊加載就完成了。

如何設置PHP擴展的目錄?

當服務器上PHP已經安裝好,需要額外添加PHP擴展時怎麼辦?不需要重新安裝PHP,有了phpize我們可以在原有的PHP基礎之上直接安裝擴展庫。

這次編譯僅僅只是單獨編譯PHP的擴展庫,接下來將編譯好的擴展庫加入到現在運行的php中,不對現在運行的php重新編譯,所以沒有一點的影響。

下面我們演示安裝xsl的擴展(不一定常用,僅做為一個範例)

做法一:

1.找到當前運行的php版本的源代碼目錄,如php-5.2.3。進入xsl擴展庫目錄。

$cd /home/pkgs/php-5.3.3/ext/xsl

2.調用phpize程序生成編譯配置文件。

$/home/app/php5.3.3/bin/phpize

3.編譯擴展庫,分別執行下面的configure和make命令。

$./configure-with-php-config=/home/app/php5.3.3/bin/php-config

這一步執行通過後,再執行make命令,如果configure執行不通過,則查找錯誤原因。

$make

#make成功執行後,生成的擴展庫文件在當前目錄的 modules子目錄下,

如/home/php-5.3.3/ext/curl/modules/xsl.so

4.配置php.ini文件

#將編譯好的擴展庫文件複製到PHP的擴展目錄下,可通過查看phpinfo信息。。

$ cp /home/pkg/php-5.3.3/ext/xsl/modules/xsl.so /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626

#在php.ini文件中找到設置擴展目錄的位置,然後將擴展路徑設置到php安裝目錄/extension/no-debug-non….目錄下,並添加擴展庫位置。

extension_dir /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626」

extension=xsl.so

5.重啟php,查看phpinfo信息,即可看到剛才添加進去的xsl擴展庫。(如果有多個php-fpm進程的話,平滑重啟主進程即可:kill -USR2 pid)

原創文章,作者:PU7WR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128002.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
PU7WR的頭像PU7WR
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有着廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進制的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進制。 一、AES加密介紹 AE…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29
  • 用法介紹Python集合update方法

    Python集合(set)update()方法是Python的一種集合操作方法,用於將多個集合合併為一個集合。本篇文章將從以下幾個方面進行詳細闡述: 一、參數的含義和用法 Pyth…

    編程 2025-04-29

發表回復

登錄後才能評論