Ⅰ php常用擴展有哪些
這個是php擴展庫支持。
在php.ini裡面可以看到952行。
extension=php_rar.dll
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_ming.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_oci8_11g.dll
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
extension= php_memcache.dll
每一行前面分號去掉的表示開啟擴展庫的。
有些擴展庫是安裝的時候默認開啟的,有些需要手動開啟。
還有一些擴展庫需要自己去下載庫文件(要對應相應的版本)
下載的庫文件放在php安裝根目錄下面的ext目錄下面。當然這個目錄也是可以自己配置的。
Ⅱ wampserver 無法載入 php 擴展 fileinfo
注意看是不是Apache的設置文件httpd.conf裡面PHPIniDir這一行把php.ini文件指定在了別的目錄。我今天重裝php就碰到了這個問題用phpinfo()函數看看php.ini在哪個目錄。
Ⅲ 在網站設置上上傳照片時顯示檢測到環境未開啟php_fileinfo拓展,如何解決
找到配置文件,把這個擴展前面的分號去掉就可以了,前提是已經安裝了這個擴展
Ⅳ php 文件上傳 需要開什麼擴展
應該不需要,剛剛後盾人講解過,樓主現在去後盾人學習一下,希望可以幫助你.
Ⅳ Enable php_fileinfo.so
先修改lnmpa的php升級腳本 upgrade_lnmpa_php.sh 吧裡面的--disable-fileinfo 去掉,然後升級php,升級完就支持了
Ⅵ 如何在linux安裝php開發環境
我一般會選用源碼安裝 php,安裝 php 的過程指定要安裝的擴展,但是避免不了缺少某個擴展未安裝導致程序運行報錯的問題。以 fileinfo 為例,介紹一下怎麼添加 php 擴展。
1. 准備
通常遇到報錯:xxx function undefined,而這個函數是系統函數的話,那一定是你缺少某個擴展。添加擴展也非常簡單。首選要確認當前的 php 是哪個版本,不同版本的 php 擴展會有些許出入。然後找到 Php 源碼目錄,也就是從網上下載下來並且解壓的 php 文件包。添加擴展的時候需要在源碼包裡面去執行命令。
2. 安裝 fileinfo 擴展
1. 確認 php 版本
php -v
# PHP 7.4.4 (cli)
2. 找到 php 可執行文件的位置
whereis php
# php: /usr/local/php /usr/local/php/bin/php
可以看出 php 執行文件在 /usr/local/php/bin 目錄裡面
那麼嘗試執行 phpize,保證這個文件存在,phpize 命令在添加擴展的時候需要用到
/usr/local/php/bin/phpize -v
# Configuring for:
# PHP Api Version: 20190902
# Zend Mole Api No: 20190902
# Zend Extension Api No: 320190902
3.進入php源碼目錄
我的習慣是網路下載的軟體會放在 /usr/local/src 下面,
cd /usr/local/src/php-7.4.4
cd /etc
cd fileinfo
擴展都在源碼目錄的 etc 下面,裡面有 curl,gd,ftp 等等擴展目錄,我要安裝 fileinfo,所以到 fileinfo 目錄裡面
4.開始安裝
確定目錄下面有 config.m4 文件,如果沒有,應該會有 config0.m4 文件,把 config0.m4 復制一份為 config.m4,如果沒有這個文件,會報錯:can not found config.m4
/usr/local/php/bin/phpize
./configure
make && make install
如果這幾行命令運行下來都沒有報錯,那麼說明擴展文件已經生成,並且已經自動移入相應位置。接下來就是修改 php.ini,追加 extension=fileinfo.so 到 php.ini 中。
5.修改php.ini,載入擴展文件
查看 php.ini 的位置
php -i | grep php.ini
#Configuration File (php.ini) Path => /usr/local/php/etc
#Loaded Configuration File => /usr/local/php/etc/php.ini
可以看到 php.ini 的位置: /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php.ini
#添加extension=fileinfo.so,保存
php -m | grep fileinfo
#fileinfo
看到輸出 fileinfo,至此,fileinfo 擴展安裝完畢!另外可以使用 pecl 命令安裝,更方便快捷!
Ⅶ 如何啟用php的gd、pdo擴展
需要開通php的以下模塊(mysql為例):
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
Ⅷ thinkphp的http::download怎麼做下載文件
一、使用curlDownload 採集遠程文件
/** * 採集遠程文件 * @access public * @param string $remote 遠程文件名 * @param string $local 本地保存文件名 * @return mixed */static public function curlDownload($remote,$local) {
$cp = curl_init($remote);
$fp = fopen($local,"w"); curl_setopt($cp, CURLOPT_FILE, $fp); curl_setopt($cp, CURLOPT_HEADER, 0); curl_exec($cp); curl_close($cp); fclose($fp);
}
調用:
$Http = new OrgNetHttp();
$Http::curlDownload("m/.jpg", "./Public/file/1.jpg");
二、使用download 下載文件
/** * 下載文件 * 可以指定下載顯示的文件名,並自動發送相應的Header信息 * 如果指定了content參數,則下載該參數的內容 * @static * @access public * @param string $filename 下載文件名 * @param string $showname 下載顯示的文件名 * @param string $content 下載的內容 * @param integer $expire 下載內容瀏覽器緩存時間 * @return void */ static public function download ($filename, $showname='',$content='',$expire=180) { if(is_file($filename)) {
$length = filesize($filename);
}elseif(is_file(UPLOAD_PATH.$filename)) { $filename = UPLOAD_PATH.$filename;
$length = filesize($filename);
}elseif($content != '') {
$length = strlen($content);
}else { E($filename.L('下載文件不存在!'));
} if(empty($showname)) { $showname = $filename;
} $showname = basename($showname);if(!empty($filename)) {
$finfo = new finfo(FILEINFO_MIME);
$type = $finfo->file($filename);
}else{
$type = "application/octet-stream";
} //發送Http Header信息 開始下載 header("Pragma: public"); header("Cache-control: max-age=".$expire); //header('Cache-Control: no-store, no-cache, must-revalidate'); header("Expires: " . gmdate("D, d M Y H:i:s",time()+$expire) . "GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s",time()) . "GMT"); header("Content-Disposition: attachment; filename=".$showname); header("Content-Length: ".$length); header("Content-type: ".$type); header('Content-Encoding: none'); header("Content-Transfer-Encoding: binary" ); if($content == '' ) { readfile($filename);
}else { echo($content);
} exit();
}
調用前,首先要確定有沒有開啟php_fileinfo擴展,沒有的話,則會報錯。。
wampserver開啟方式:
選擇php_fileinfo就行了
調用:
$Http = new OrgNetHttp();$filename="Public/file/test.doc";
$showname="test.doc";
$content = "this"; // 表示下載的文件內容只有this$Http::download($filename, $showname, $content);
謝謝關注~
Ⅸ Apache2.2和php5怎麼加入擴展的fileinfo函數
fileinfo()是pecl的其中的function之一
需安裝pecl才能用,要安裝pecl,必須有phpize指令
我們來執行
peclinstallfileinfo
系統提示:
WARNING:"pear/Fileinfo"isdeprecatedinfavorof"channel://php-src/ext/fileinfo/inphpsources"
downloadingFileinfo-1.0.4.tgz...
StartingtodownloadFileinfo-1.0.4.tgz(5,835bytes)
.....done:5,835bytes
3sourcefiles,building
running:phpize
sh:phpize:notfound
ERROR:`phpize'failed
下面安裝phpize
首先需要有php5-dev
直接執行phpize,系統會提示:
Nocommand'phpize'found,didyoumean:
Command'phpize5'frompackage'php5-dev'(main)
phpize:commandnotfound
那麼我們來安裝php5-dev
sudoapt-getinstallphp5-dev
安裝完成後,再執行:
sudopeclinstallfileinfo
會發現如下的錯誤提示:
...notfound
configure:error:
ERROR:`/build/buildd/php5-5.3.2/pear-build-download/Fileinfo-1.0.4/configure'failed
那麼再安裝一下libmagic:
sudoapt-getinstalllibmagic-dev
安裝完成後,再執行:
sudopeclinstallfileinfo
ok,看到了這樣的提示:
Installing'/usr/lib/php5/20090626/fileinfo.so'
installok:channel://pear.php.net/Fileinfo-1.0.4
說明Fileinfo安裝完成,
我們會發現
php模塊的目錄下多了個fileinfo.so文件,同時,
在/usr/share/file目錄下有magic.mime和magic兩個文件。
然後需要修改php.ini文件,加入
extension=fileinfo.so
重啟nginx和fastcgi在自己的web頁面上加入下面這段測試代碼:
<?php
//
$finfo=finfo_open(FILEINFO_MIME_TYPE);
if(!$finfo){
echo"Openingfileinfodatabasefailed";
exit();
}
/*getmime-typeforaspecificfile*/
$filename="/ciray/images/right.gif";//這里寫你的WEB目錄中要測試的文件路徑
echo$filename.'-->'.finfo_file($finfo,$filename).'<br>';
?>
運行一下,如果顯示
/ciray/images/right.gif-->image/gif
說明大功告成!