Ⅰ 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
说明大功告成!