⑴ php常用擴展有哪些
php基本使用到的擴展有如下:
bcmath(精確數值處理)
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gettext
hash
iconv
igbinaryinotify 文件監控
json
libxml
mbstring
mhash
mysql
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis Redis緩存
Reflection
session
shmop
SimpleXML
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshmswoole 通信引擎
tokenizer
wddx
xml
xmlreader
xmlwriter
xslyaf YAF框架必須
zip
zlib
其中最常用的擴展有:curl date json mysql mysqli openssl pdo_mysql redis session zip等
查看當前php安裝了哪些擴展,可以使用命令:php -m
⑵ php extension 哪些
php extension就是php的擴展,這個擴展是有很多的,如:
HTTP extension for PHP旨在為PHP應用提供一個方便而強大的功能擴展 。它簡化了處理的HTTP網址,日期,重定向,HTTP 頭信息,消息,客戶的首選語言和字元集,以及提供便捷的數據高速緩存和恢復的方法。它提供了強大的功能,如果和 CURL 一起編譯的話將提供更強大的請求處理功能。PHP5或者更新版本提供並行請求處理;
extension_loaded—檢查一個擴展是否已經載入,說明extension_loaded()使用內置擴展名稱來測試一個擴展是否有效。 大多數內置擴展名稱是小寫的,但也有擴展使用大寫字元。 在 PHP 5 之前,此函數以大小寫敏感的方式對比名稱;
這里我給你看下小部分的截圖,如果你有興趣可以自行去下載一個php的安裝包來看:
⑶ 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成功執行後,生成的擴展庫文件在當前目錄的 moles子目錄下,
如/home/php-5.3.3/ext/curl/moles/xsl.so
4.配置php.ini文件
#將編譯好的擴展庫文件復制到PHP的擴展目錄下,可通過查看phpinfo信息。。
$ cp /home/pkg/php-5.3.3/ext/xsl/moles/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)
⑷ 在伺服器配置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 起內置
⑸ 如何編寫一個PHP的C擴展
一、首先下載PHP源碼包,假設源碼包目錄為:/software/php-5.2.13
一、首先下載PHP源碼包,假設源碼包目錄為:/software/php-5.2.13
#> cd /software/php-5.2.13/ext
二、假設我們要開發一個名為caleng_mole的擴展,該擴展包含兩個函數:a--處理兩個整型相加和b-處理字元串重復輸出;
1、首先編寫一個函數定義文件,該文件編寫函數原型後綴為def,假設為:caleng_mole.def
int a(int x, int y)
string b(string str, int n)
2、通過擴展骨架生成器,將在ext目錄下自動建立擴展目錄caleng_mole
#> ./ext_skel --extname=caleng_mole --proto=caleng_mole.def
3、修改配置文件: #> vim /software/php-5.2.13/ext/caleng_mole/config.m4,將如下行的注釋標簽"dnl"去掉,修改後如下所示:
PHP_ARG_ENABLE(myfunctions, whether to enable myfunctions support,
Make sure that the comment is aligned:
[ --enable-myfunctions Enable myfunctions support])
4、完善函數a和b的功能: #> vim /software/php-5.2.13/ext/caleng_mole/caleng_mole.c
PHP_FUNCTION(a)
{
int x, y, z;
int argc = ZEND_NUM_ARGS();
if (zend_parse_parameters(argc TSRMLS_CC, "ll", &x, &y) == FAILURE)
return;
z = x + y;
RETURN_LONG(z);
}
PHP_FUNCTION(b)
{
char *str = NULL;
int argc = ZEND_NUM_ARGS();
int str_len;
long n;
char *result;
char *ptr;
int result_length;
if (zend_parse_parameters(argc TSRMLS_CC, "sl", &str, &str_len, &n) == FAILURE)
return;
result_length = str_len * n;
result = (char *) emalloc(result_length + 1);
ptr = result;
while (n--) {
memcpy(ptr, str, str_len);
ptr += str_len;
}
*ptr = '\0';
RETURN_STRINGL(result, result_length, 0);
}
三、編譯安裝,假設php的安裝目錄為:/usr/localhost/webserver/php
#> cd /software/php-5.2.13/ext/caleng_mole
#> /usr/localhost/webserver/php/bin/phpize
#> ./configure --with-php-config=/usr/localhost/webserver/php/bin/php-config
#> make
#> make install
現在將在/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613目錄下生成caleng_mole.so文件
在php.ini配置文件中加入: extension=caleng_mole.so.
搞定收工
⑹ PHP的擴展模塊怎麼添加
在PHP/etc 文件夾中加入擴展
在PHP 文件夾下的php.ini文件里 有很多dll文件的地方加入一行 你所添加的擴展的名字xxxx.dll
或者 是 在php.ini中直接打開對應的擴展 ,將目標行的 ; 給去掉
哦,對了,最後記得要重新啟動PHP的伺服器
⑺ php 怎麼安裝擴展
在windows平台上,主要是三個步驟:
1、下載php擴展庫文件;
一般在http://pecl.php.net/上就有下載信息。
2、解壓縮文件,將*.dll文件復制到PHP程序主目錄下的「ext」或者「extension」目錄。
3、打開php.ini文件,在「Dynamic Extensions」配置段中加上「extension=*.dll」,關閉文件,重新啟動一下伺服器就可以載入成功了。
⑻ 「PHP中擴展庫」是什麼意思如何載入
擴展庫是php擴展的功能,比如php本來不支持操作某種功能 ,但在新版本想對它提供支持,就以擴展的方式來提供,這樣,我們在配置php時,如果我們不用此功能,我們就可以讓php不載入他.從而節省伺服器資源.提供其性能
php的擴展庫一般放在php目錄下的ext目錄里.你在網上下載的php壓縮包解壓後應該可以看到.
php.ini中的 extension_dir 用來指定你的擴展名的地址 。
php.ini中有一排像 ;extension="xxxxxx.dll" 的內容就是用來配置讓你的php運行環境支持什麼不支持什麼。
以下為php.ini中的剪切段
------------------------------
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_gd2.dll //php對圖片操作的擴展
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll //php操作mssql (sql server)資料庫的擴展
;extension=php_mysql.dll //php操作mysql資料庫的擴展
------------------------------
要讓php支持某種功能,把extension前面的 " ; "號去掉,重啟apache或iis即可。
⑼ 麻煩問一下PHP中,PHP自帶的擴展和類庫是一種東西嗎
1. 一般來說,php的類庫使用的還是php語言編寫的,因此一般使用include/require導入。
2. php的擴展庫的導入一般是在php.ihi里導入,比如,gd2庫的載入:
[PHP_GD2]
extension=php_gd2.dll
PHP官方擴展類庫是PEAR和PECL,你可以搜索相關資料。
⑽ 如何安裝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