PHP系列 動態新增php擴充套件模組

2021-09-30 14:35:53 字數 2237 閱讀 2532

什麼時候我們要用phpize呢?我們在安裝php時:

./configure \

--prefix=/usr/local

/php \

--with-mysql=/usr/local

/mysql \

--with-iconv \

--with-gettext \

--with-curl \

--enable-fastcgi \

--with-openssl ......

後面引數就是我們需要的php模組(這些模組安裝的時候可能沒有編譯進來),以後我們可能還想再增加些其他得模組,但是又不想重新編譯php,這個是時候我們就可以用phpize了。

下面以soap安裝為例:

1、首先進入php原始碼目錄,然後找到並切換到ext目錄, ext目錄下面存放的就是php的模組庫

# 切換到soap目錄下

[root@bogon /]# cd /usr/local/src/php-7.1.7/ext/soap

2、執行phpize生成configure
[root@bogon soap]# /usr/local/php/bin/phpize

configuring for:

php api version: 20160303

zend module api no: 20160303

zend extension api no: 320160303

3、編譯

指定php-config,注意這裡的php-config,不是php.ini。(可以新增–enable-soap,也可以不用新增)

[

root@bogon

soap]#

./configure--

with

-php

-config=/usr/local/php/bin/php

-config--

enable

-soap

4、編譯安裝(make install 之後系統會提示你soap.so檔案所在的目錄)
[root@bogon soap]# make

[root@bogon soap]# make install

installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/

5、生成乙個目錄來存放擴充套件的模組並複製soap.so到模組目錄
[root@bogon soap]# mkdir /usr/local/php/etc/php/ext

[root@bogon soap]# cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/soap.so /usr/local/php/etc/php/ext

6、編輯php.ini檔案,指定php到哪個目錄讀模組
[root@bogon soap]# vim /usr/local/php/etc/php.ini

extension_dir="/usr/local/php/etc/php/ext"

# load模組

extension=soap.so

# 儲存退出

# 重啟apache

# 檢視是否有ftp.so

[root@bogon soap]# /usr/local/php/bin/php -m|grep ftp

附:操作過程**現的錯誤

configure: error: invalid feature name: soap

解決方法:調整一下引數的順序,如下:

[

root@bogon

soap]#

./configure--

with

-php

-config=/usr/local/php/bin/php

-config--

enable

-soap

Linux下php動態新增擴充套件

假定手動配置好php環境情況下.一.生成需要呼叫的so檔案 要呼叫的演算法 int rgb to gray int r,int g,int b gcc o c fpic o gray.o gray.c fpic 是指生成的動態庫與位置無關 gcc shared o libgray.so gray.o...

php 新增pdo mysql擴充套件

幫朋友安裝禪道管理軟體的時候碰到的問題,鬱悶了幾天終於解決了 之前apache php mysql 都是好的 可是安裝禪道的時候 報pdo mysql擴充套件沒有加上 我的解決方法是 安裝mysql mysql server 5.5.15 1.rhel5.x86 64.rpm mysql clien...

PHP新增redis擴充套件

php如何新增redis擴充套件 step1 php.ini中新增2個擴充套件 加2行 extension php igbinary.dll extension php redis.dll step2 然後在php ext目錄下新增兩個dll檔案 php igbinary.dll php redis...