導航:首頁 > 編程語言 > phpbz2擴展

phpbz2擴展

發布時間:2023-07-31 10:07:03

A. 如何編譯安裝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

B. PHP主要應用那些方面

1、服務端腳本。


這是 PHP 最傳統,也是最主要的目標領域。開展這項工作需要具備以下三點:


A、PHP 解析器(CGI 或者伺服器模塊)、


B、web 伺服器、


C、web 瀏覽器。


需要在運行 web 伺服器時,安裝並配置 PHP,


然後,可以用 web 瀏覽器來訪問 PHP 程序的輸出,即瀏覽服務端的 PHP 頁面。


如果只是實驗 PHP 編程,所有的這些都可以運行在自己家裡的電腦中。


2、命令行腳本。


可以編寫一段 PHP 腳本,並且不需要任何伺服器或者瀏覽器來運行它。


通過這種方式,僅僅只需要 PHP 解析器來執叢槐返行。


這種用法對於依賴 cron(Unix 或者 Linux 環境)


或者 Task Scheler(Windows 環境)的日常運行的腳本來說是理想的選擇。


這些腳本也可以用來處理簡單的文本。


3、編寫桌面應用程序。


對於有著圖形界面的桌面應用程序來說,PHP 或許不是一種最好的語言,


但是如果用戶非常精通 PHP,並且希望在客戶端應用程序中使用 PHP 的一些高級特性,


可以利用 PHP-GTK 來編寫這些程序。用這種方法,還可以編寫跨平台的應用程序。


PHP-GTK 是 PHP 的一個擴展,在通常發布的 PHP 包中並不包含它。


如果對 PHP-GTK 感興趣,請訪問其網站以獲取更多信息。


C. Windows系統怎麼安裝php-zbarcode擴展

寫之前先鄙視下利用此開源程序收費的人。

PHP-zbarcode是php識別二維碼的擴展。

下面是安裝方法,安裝前要先安裝ImageMagick、zbar.

php-zbarcode 下載地址

安裝ImageMagick:
yum install ImageMagick.x86_64 ImageMagick-devel.x86_64
wget http://jaist.dl.sourceforge.NET/project/zbar/zbar/0.10/zbar-0.10.tar.bz2
tar jxvf zbar-0.10.tar.bz2
cd zbar-0.10
./configure –without-gtk –without-qt –without-Python –prefix=/usr/local/zbar
make all
make install
echo 「/usr/local/zbar/lib/」 >> /etc/ld.so.conf
ldconfig
ln -s /usr/local/zbar/lib/pkgconfig/zbar.pc /usr/lib64/pkgconfig/zbar.pc
wget https://github.com/lgchgt/php-zbarcode/archive/master.zip
unzip master
cd php-zbarcode-master
/xxx/server/php/bin/phpze
/configure –with-php-config=/xxx/server/php/bin/php-config
make
make install
ll /xxx/server/php/lib/php/extensions/no-debug-non-zts-20100525/
添加:extension=zbarcode.so 到php.ini配置文件
運行 : php -i|grep zbar
檢查是否安裝功能
<?php
/* Create new image object */
$image = new ZBarCodeImage(「1.jpg」);
$scanner = new ZBarCodeScanner();
$barcode = $scanner->scan($image);
print_r($barcode);
/* Loop through possible barcodes */
if (!empty($barcode)) {
foreach ($barcode as $code) {
printf(「Found type %s barcode with data %s\n」, $code[『type』], $code[『data』]);
}
}
?>

最後驗證結果即可;

D. 在伺服器配置PHP的時候需要開通幾個擴展,請問這幾個擴展對我的網站有何用

網路不誤導你 ,我也是網路的,擴展全開都行,不妨礙你用就是了,幹嘛非要這么細致的分析每個擴展的作用呢?給你一份快餐,要麼你吃了,要麼你不吃。你會分析其他的情況嗎?
擴展庫 說明 註解
php_bz2.dll bzip2 壓縮函數庫 無
php_calendar.dll 歷法轉換函數庫 自 PHP 4.0.3 起內置
php_cpdf.dll ClibPDF 函數庫 無
php_crack.dll 密碼破解函數庫 無
php_ctype.dll ctype 家族函數庫 自 PHP 4.3.0 起內置
php_curl.dll CURL,客戶端 URL 庫函數庫 需要:libeay32.dll,ssleay32.dll(已附帶)
php_cybercash.dll 網路現金支付函數庫 PHP <= 4.2.0
php_db.dll DBM 函數庫 已廢棄。用 DBA 替代之(php_dba.dll)
php_dba.dll DBA:資料庫(dbm 風格)抽象層函數庫 無
php_dbase.dll dBase 函數庫 無
php_dbx.dll dbx 函數庫
php_domxml.dll DOM XML 函數庫 PHP <= 4.2.0 需要:libxml2.dll(已附帶),PHP >= 4.3.0 需要:iconv.dll(已附帶)
php_dotnet.dll .NET 函數庫 PHP <= 4.1.1
php_exif.dll EXIF 函數庫 需要 php_mbstring.dll。並且在 php.ini 中,php_exif.dll 必須在 php_mbstring.dll之後載入。
php_fbsql.dll FrontBase 函數庫 PHP <= 4.2.0
php_fdf.dll FDF:表單數據格式化函數庫 需要:fdftk.dll(已附帶)
php_filepro.dll filePro 函數庫 只讀訪問
php_ftp.dll FTP 函數庫 自 PHP 4.0.3 起內置
php_gd.dll GD 庫圖像函數庫 在 PHP 4.3.2 中刪除。此外注意在 GD1 中不能用真彩色函數,用 php_gd2.dll 替代。
php_gd2.dll GD 庫圖像函數庫 GD2
php_gettext.dll Gettext 函數庫 PHP <= 4.2.0 需要 gnu_gettext.dll(已附帶),PHP >= 4.2.3 需要 libintl-1.dll,iconv.dll(已附帶)。
php_hyperwave.dll HyperWave 函數庫 無
php_iconv.dll ICONV 字元集轉換 需要:iconv-1.3.dll(已附帶),PHP >=4.2.1 需要 iconv.dll
php_ifx.dll Informix 函數庫 需要:Informix 庫
php_iisfunc.dll IIS 管理函數庫 無
php_imap.dll IMAP,POP3 和 NNTP 函數庫 無
php_ingres.dll Ingres II 函數庫 需要:Ingres II 庫
php_interbase.dll InterBase functions 需要:gds32.dll(已附帶)
php_java.dll Java 函數庫 PHP <= 4.0.6 需要:jvm.dll(已附帶)
php_ldap.dll LDAP 函數庫 PHP <= 4.2.0 需要 libsasl.dll(已附帶),PHP >= 4.3.0 需要 libeay32.dll,ssleay32.dll(已附帶)
php_mbstring.dll 多位元組字元串函數庫 無
php_mcrypt.dll Mcrypt 加密函數庫 需要:libmcrypt.dll
php_mhash.dll Mhash 函數庫 PHP >= 4.3.0 需要:libmhash.dll(已附帶)
php_mime_magic.dll Mimetype 函數庫 需要:magic.mime(已附帶)
php_ming.dll Ming 函數庫(Flash) 無
php_msql.dll mSQL 函數庫 需要:msql.dll(已附帶)
php_mssql.dll MSSQL 函數庫 需要:ntwdblib.dll(已附帶)
php_mysql.dll MySQL 函數庫 PHP >= 5.0.0 需要 libmysql.dll(已附帶)
php_mysqli.dll MySQLi 函數庫 PHP >= 5.0.0 需要 libmysql.dll(PHP <= 5.0.2 中是 libmysqli.dll)(已附帶)
php_oci8.dll Oracle 8 函數庫 需要:Oracle 8.1+ 客戶端庫
php_openssl.dll OpenSSL 函數庫 需要:libeay32.dll(已附帶)
php_oracle.dll Oracle 函數庫 需要:Oracle 7 客戶端庫
php_overload.dll 對象重載函數庫 自 PHP 4.3.0 起內置
php_pdf.dll PDF 函數庫 無
php_pgsql.dll PostgreSQL 函數庫 無
php_printer.dll 列印機函數庫 無
php_shmop.dll 共享內存函數庫 無
php_snmp.dll SNMP 函數庫 僅用於 Windows NT!
php_soap.dll SOAP 函數庫 PHP >= 5.0.0
php_sockets.dll Socket 函數庫 無
php_sybase_ct.dll Sybase 函數庫 需要:Sybase 客戶端庫
php_tidy.dll Tidy 函數庫 PHP >= 5.0.0
php_tokenizer.dll Tokenizer 函數庫 自 PHP 4.3.0 起內置
php_w32api.dll W32api 函數庫 無
php_xmlrpc.dll XML-RPC 函數庫 PHP >= 4.2.1 需要 iconv.dll(已附帶)
php_xslt.dll XSLT 函數庫 PHP <= 4.2.0 需要 sablot.dll,expat.dll(已附帶)。PHP >= 4.2.1 需要 sablot.dll,expat.dll,iconv.dll(已附帶)。
php_yaz.dll YAZ 函數庫 需要:yaz.dll(已附帶)
php_zip.dll Zip 文件函數庫 只讀訪問
php_zlib.dll ZLib 壓縮函數庫 自 PHP 4.3.0 起內置

E. php extension 哪些

php extension就是php的擴展,這個擴展是有很多的,如:

HTTP extension for PHP旨在為PHP應用提供一個方便而強大的功能擴展 。它簡化了處理的HTTP網址,日期,重定向,HTTP 頭信息,消息,客戶的首選語言和字元集,以及提供便捷的數據高速緩存和恢復的方法。它提供了強大的功能,如果和 CURL 一起編譯的話將提供更強大的請求處理功能。PHP5或者更新版本提供並行請求處理;

extension_loaded—檢查一個擴展是否已經載入,說明extension_loaded()使用內置擴展名稱來測試一個擴展是否有效。 大多數內置擴展名稱是小寫的,但也有擴展使用大寫字元。 在 PHP 5 之前,此函數以大小寫敏感的方式對比名稱;

這里我給你看下小部分的截圖,如果你有興趣可以自行去下載一個php的安裝包來看:

F. Docker PHP 安裝擴展匯總

FROM php:7.2-fpm

Core, ctype, curl
date, dom
fileinfo, filter, ftp
hash
iconv
json
libxml
mbstring, mysqlnd
openssl
pcre, PDO, pdo_sqlite, Phar, posix
readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard
tokenizer
xml, xmlreader, xmlwriter
zlib

RUN docker-php-ext-install -j$(nproc) bcmath calendar exif gettext
sockets dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm

RUN apt-get update &&
apt-get install -y --no-install-recommends libbz2-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) bz2

RUN apt-get update &&
apt-get install -y --no-install-recommends libenchant-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) enchant

RUN apt-get update &&
apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ &&
docker-php-ext-install -j$(nproc) gd

RUN apt-get update &&
apt-get install -y --no-install-recommends libgmp-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) gmp

RUN apt-get update &&
apt-get install -y --no-install-recommends libxml2-dev libtidy-dev libxslt1-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) soap wddx xmlrpc tidy xsl

RUN apt-get update &&
apt-get install -y --no-install-recommends libzip-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) zip

RUN apt-get update &&
apt-get install -y --no-install-recommends libsnmp-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) snmp

RUN apt-get update &&
apt-get install -y --no-install-recommends libpq-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pgsql pdo_pgsql

RUN apt-get update &&
apt-get install -y --no-install-recommends libpspell-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pspell

RUN apt-get update &&
apt-get install -y --no-install-recommends librecode-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) recode

RUN apt-get update &&
apt-get install -y --no-install-recommends firebird-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pdo_firebird

RUN apt-get update &&
apt-get install -y --no-install-recommends freetds-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure pdo_dblib --with-libdir=lib/x86_64-linux-gnu &&
docker-php-ext-install -j$(nproc) pdo_dblib

RUN apt-get update &&
apt-get install -y --no-install-recommends libldap2-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu &&
docker-php-ext-install -j$(nproc) ldap

RUN apt-get update &&
apt-get install -y --no-install-recommends libc-client-dev libkrb5-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure imap --with-kerberos --with-imap-ssl &&
docker-php-ext-install -j$(nproc) imap

RUN apt-get update &&
apt-get install -y --no-install-recommends firebird-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) interbase

RUN apt-get update &&
apt-get install -y --no-install-recommends libicu-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) intl

RUN apt-get update && \
apt-get install -y --no-install-recommends libmcrypt-dev &&
rm -r /var/lib/apt/lists/* &&
pecl install mcrypt-1.0.1 &&
docker-php-ext-enable mcrypt

RUN export CFLAGS=" PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS" &&
apt-get update &&
apt-get install -y --no-install-recommends libmagickwand-dev &&
rm -rf /var/lib/apt/lists/* &&
pecl install imagick-3.4.3 &&
docker-php-ext-enable imagick

RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libmemcached-dev &&
rm -r /var/lib/apt/lists/* &&
pecl install memcached &&
docker-php-ext-enable memcached

RUN pecl install redis-4.0.1 && docker-php-ext-enable redis

RUN docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache

RUN set -ex;
docker-php-source extract;
{
echo '# https://github.com/docker-library/php/issues/103#issuecomment-271413933' ;
echo 'AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl';
echo;
cat /usr/src/php/ext/odbc/config.m4;
} > temp.m4;
mv temp.m4 /usr/src/php/ext/odbc/config.m4;
apt-get update;
apt-get install -y --no-install-recommends unixodbc-dev;
rm -rf /var/lib/apt/lists/*;
docker-php-ext-configure odbc --with-unixODBC=shared,/usr;
docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr;
docker-php-ext-install odbc pdo_odbc;
docker-php-source delete

LABEL Author="Leo"
LABEL Version="1.0.25-fpm"
LABEL Description="PHP FPM 7.2 鏡像. All extensions."

閱讀全文

與phpbz2擴展相關的資料

熱點內容
解壓縮軟體免安裝版 瀏覽:956
安卓簡訊如何存檔 瀏覽:139
汽車導航不讀文件夾 瀏覽:107
全球雲伺服器如何注冊 瀏覽:884
udp直播流如何在伺服器里播放器 瀏覽:591
macbrew安裝php 瀏覽:425
點特徵提取演算法 瀏覽:502
python彈窗顯示輸入的文字 瀏覽:751
python數字和中文互轉 瀏覽:639
汽車空調壓縮機外殼 瀏覽:458
大型伺服器都是採用什麼模式 瀏覽:5
伺服器為什麼跳閘 瀏覽:398
怎麼用python分析基金收益 瀏覽:990
couple演算法 瀏覽:791
android調用文件管理器 瀏覽:152
中國我的世界最大的小游戲伺服器地址 瀏覽:833
程序員爆破粒子 瀏覽:889
我的世界pcl啟動器怎麼加入伺服器 瀏覽:253
傳奇源碼擴充人物結構 瀏覽:844
購買多個文件夾 瀏覽:774