導航:首頁 > 編程語言 > php擴展編譯安裝

php擴展編譯安裝

發布時間:2023-05-05 07:28:42

『壹』 php一些擴展在編譯的時候沒有安裝怎麼辦

一些擴展都是php自帶的,開啟即可
如果不是自帶的,要先安裝,配置里加上此擴展,在開啟

『貳』 linux編譯安裝php擴展出錯

1. 下載你要安裝的軟體包,解壓得到目錄(如:phpredis)

2. 進入軟體包目錄(cd phpredis)

3. 執行phpsize命令(/usr/local/php/bin/phpize)
成功後,當前目錄將得到configure文件。


4. 進行配置(./configure --with-php-config=/usr/local/php/bin/php-config#指定安裝在哪個PHP)

『叄』 如何在編譯好的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擴展最簡單的辦法就是
sudo apt-get install php5-xxx

但有的時候並非我們所願,源裡面並沒有我們需要的擴展,這時候就需要我們下載源碼自己編譯安裝了。
這篇文章中我將介紹在本地Linux平台下編譯安裝PHP擴展的方法。
現在網站根目錄下創建 index.php 列印基本的配置信息,以驗證我們是否安裝成功。
配置編譯環境
我們需要安裝一些編譯必須的庫,還有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev

Fedora
sudo yum install php-devel php-mysqlnd gcc libtool

RHEL
sudo yum install php-devel php-mysql gcc libtool

Suse
yast2 -i php5-pear php5-devel php5-mysql gcc

安裝擴展
PHP有兩種可供安裝的擴展:一種是PHP原生的但是默認沒有安裝的,另一種的第三方開發的擴展。
下面依次介紹兩種擴展的安裝方法:
安裝之前我們需要一份和當前機器上相同版本的PHP源碼
cd code
wget http://cn2.php.net/distributions/php-5.5.9.tar.bz2
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9

前往此處 下載相應的源碼包。
在 /ext 目錄下面可以看到所有PHP原生的擴展。
安裝原生擴展
以 PHP-intl 為例,這是PHP國際化的擴展。
為了安裝這個擴展我們需要先安裝ICU 庫
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg

ICU 安裝成功之後進入/ext/intl 目錄:
cd intl
phpize
./configure --enable-intl
make
sudo make install

下面解釋一下上面的每個命令:
phpize : 是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊
./configure --enable-intl: 配置編譯環境,相當於告訴編譯器編譯PHP源碼的時候加上intl這個擴展。
make: 將會把源碼編譯成 intl.so
make install : 將會把 intl.so 移動到當前安裝的 PHP 的擴展目錄。
接下來我們要做的就是在php.ini中啟用這個擴展,這一步將會在最後給出示例。
安裝第三方擴展
將以這個 擴展為例,這個擴展主要實現了PHP識別條形碼的功能。
先安裝必要的依賴
sudo apt-get install pkg-config

git clone https://github.com/mongodb/mongo-php-driver
cd mongo-php-driver
phpize
./configure
make
sudo make install

將會生成一個文件,將其拷貝到PHP的擴展目錄下面。
啟用擴展
在php.ini中啟用擴展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,這是最簡單直接的方法。
也可以單獨建一個ini文件,然後在php.ini中包含這些文件就可以了。
下面介紹一下第二種方法:
cd `/etc/php5/mods-available`

這個目錄里可以放新建的ini文件,然後執行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini

上面的命令將會創建ini文件,並且寫如相應的配置信息。
然後執行下面的命令啟用擴展即可(需要安裝 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl

如果未安裝 php5enmod 工具,則需要手動配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini

最後在執行一下重啟操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart

『伍』 Mac OS 下如何編譯自己的PHP擴展

為了擴展管理方便,首先來安裝pecl擴展管理器:
cd /usr/lib/php
sudo php install-pear-nozlib.phar
安裝Redis、Memcache、Mongo等擴展。
sudo pecl install redis
sudo pecl install memcache
sudo pecl install mongo
sudo pecl install xdebug
將擴展配置添加的php.ini文件中:
extension=memcache.so
extension=mongo.so
extension=redis.so
zend_extension=xdebug.so
安裝xcache,從官網下載Release-3.2.0解壓縮並安裝
tar xvf xcache-3.2.0.tar
cd xcache-3.2.0
phpize
/configure
make
sudo make install
配置XCache
[xcache]
xcache.size = 128M
xcache.var_size = 8M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.optimizer = Off
由於Mac自帶的PHP環境是不包括mcrypt擴展的,所以需要下載同版本的php源碼包,單獨編譯這個模塊載入。從官網的歸檔裡面找到php5.5.14的源碼包,下載:http://php.net/releases/
tar zxvf php-5.5.14.tar.gz
cd php-5.5.14/ext/mcrypt/
phpize
。/configure
make
sudo make install
配置ext-mcrypt
extension=mcrypt.so
為了加速,還需要打開opcache。
zend_extension=opcache.so
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0
; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0

『陸』 如何安裝php的擴展bcmath

方法如下

talk is cheap,show me the code:

[root@LAMP1 lib]# php -vPHP 5.3.3 (cli) (built: Oct 30 2014 20:12:53)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
[root@LAMP1 lib]# yum install php-bcmathLoaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
* base: mirrors.pubyun.com
* extras: mirrors.pubyun.com
* updates: mirrors.pubyun.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-bcmath.x86_64 0:5.3.3-40.el6_6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================================================================
Installing:
php-bcmath x86_64 5.3.3-40.el6_6 updates 37 k

Transaction Summary
==============================================================================================================================================================================================
Install 1 Package(s)

Total download size: 37 k
Installed size: 29 k
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 37 k
php-bcmath-5.3.3-40.el6_6.x86_64.rpm | 37 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php-bcmath-5.3.3-40.el6_6.x86_64 1/1
Verifying : php-bcmath-5.3.3-40.el6_6.x86_64 1/1 Installed:
php-bcmath.x86_64 0:5.3.3-40.el6_6

Complete!
[root@LAMP1 lib]# ps -ef|grep httpdroot 1780 1 0 Mar10 ? 00:03:02 /usr/sbin/httpd
apache 2510 1780 0 11:53 ? 00:00:00 /usr/sbin/httpd
apache 2511 1780 0 11:53 ? 00:00:00 /usr/sbin/httpd
apache 2512 1780 0 11:53 ? 00:00:00 /usr/sbin/httpd
apache 2513 1780 0 11:53 ? 00:00:00 /usr/sbin/httpd
apache 2514 1780 0 11:53 ? 00:00:00 /usr/sbin/httpd
apache 2515 1780 0 11:53 ? 00:00:00 /usr/sbin/httpd
apache 2516 1780 0 11:53 ? 00:00:00 /usr/sbin/httpd
apache 2517 1780 0 11:53 ? 00:00:00 /usr/sbin/httpd
root 2531 2474 0 11:56 pts/0 00:00:00 grep httpd
[root@LAMP1 lib]# /usr/sbin/httpd -k restart[root@LAMP1 lib]#

如果想卸載也是一樣的:

yum remove php- bcmath
httpd -k restart

『柒』 php編譯安裝後如何安裝IMAP擴展

今天程序員在最近實施的項目中需要增加IMAP驗證,今天歷史原因,公司很多伺服器的linux操作系統及各應用程序版本都不一樣,安裝路徑也很雜亂,再加上剛接手伺服器不久,導致今天在安裝IMAP的PHP擴展時,走了很多彎路;幫把今天的操作經理寫下來供大家參考學習及備忘之。

環境:
[root@bjdx246 lib]# lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Release: 5.4
Codename: Tikanga

[root@bjdx246 lib]# php -v
PHP 5.2.5 (cli) (built: May 29 2013 16:49:51)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

[root@bjdx246 /]# rpm -qa |grep php
php-ldap-5.1.6-43.el5_10
php-cli-5.1.6-43.el5_10
php-common-5.1.6-43.el5_10

再使用phpinfo.php 查看PHP相關信息後,開始安裝php-imap,步驟如下:

cd /usr/local/src/php-5.2.5/ext/imap
yum -y install libc-client-*
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-kerberos --with-imap-ssl
make
make install

完成後,屏幕上會有提示/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613 目錄下多出一個 imap.so的文件;在上面編譯過程中,出現很多報錯,根據報錯一個網路找答案即可;

編輯 /usr/local/php/lib/php.ini ; 添加一行 extension=imap.so

最後 重啟 apache 服務搞定!

註:上面的路徑是本台伺服器的相關路徑,其它的伺服器需要根據您的實際情況進行更改,理解整個部署的思路即可哈!

『捌』 PHP8、FPM及部分擴展編譯安裝

本著能懶則懶的原則,之前我都是寶塔、lnmp腳本等「一鍵」
再不濟也得來個 apt/yum install php
什麼?源碼 make install ? 編譯參數一言難盡,勸退勸退...我只是想要個開發環境而已

沒關系!我來整理一下常用模塊以及參數!環境為 ubuntu/debian

檢查壓縮包的完整性,與官網 sha256比較

安裝以下包

官方的拓展分類
根據需要的模塊添加其後對應的參數

包含常用模塊,可以直接使用

編譯並安裝後
復制 php.ini 到默認目錄 /usr/local/lib/

檢查 php安裝是否正確

復制 fpm 配置文件、運行服務文件
www.conf php-fpm.conf php-fpm.service

修改 fpm 用戶和組,默認為nobody

修改服務文件,取消只讀 不然日誌不能讀寫無法啟動

設置自啟動並運行

本地起服務測試

No package 'libxml-2.0' found

No package 『sqlite3『 found

configure: WARNING: unrecognized options: –with-gd

No package 'zlib' found

No package 'libpng' found

No package 'oniguruma' found

No package 'libcurl' found

No package 'libsystemd' found

No package 'openssl' found

No package 'libzip' found

閱讀全文

與php擴展編譯安裝相關的資料

熱點內容
微信聊天界面源碼 瀏覽:24
seo競價推廣點擊價格演算法公式 瀏覽:319
框架結構可以加密嗎 瀏覽:218
python編譯器怎麼清除 瀏覽:73
linux全局socks代理 瀏覽:611
php微信抽獎 瀏覽:771
壓縮演算法嵌入式移植 瀏覽:531
php新手小例子 瀏覽:233
按照醫生的演算法一周是幾天 瀏覽:805
三次b樣條曲線演算法 瀏覽:924
java7特性 瀏覽:555
愛山東app小學報名怎麼知道報沒報上 瀏覽:458
android獲取wifi信號 瀏覽:133
娜拉美妝app怎麼使用 瀏覽:760
有了源碼要買伺服器嗎 瀏覽:365
app怎麼查看自己的存款利息 瀏覽:515
碧藍安卓與b站有什麼區別 瀏覽:342
php靜態塊 瀏覽:719
ftpmget命令 瀏覽:475
源碼時代怎樣 瀏覽:415