目录:
- 1、在网站设置上上传照片时显示检测到环境未开启php_fileinfo拓展,如何解决?
- 2、如何在linux安装php开发环境
- 3、FileInfo 这个类是干什么用的 什么意思哦
- 4、苹果cmsv10系统建站fileinfo模块不支持,有没大神指教一下,尽量详细点
- 5、php5.5怎样启用php_fileinfo支持?
- 6、Apache2.2和php5怎么加入扩展的fileinfo函数
在网站设置上上传照片时显示检测到环境未开启php_fileinfo拓展,如何解决?
找到配置文件,把这个扩展前面的分号去掉就可以了,前提是已经安装了这个扩展
如何在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 Module 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 命令安装,更方便快捷!
FileInfo 这个类是干什么用的 什么意思哦
.NET内建类型中提供了FileInfo和DirectoryInfo俩个类型,分别用来操作文件和文件夹,有别于File和Directory类型,FileInfo和DirectoryInfo主要功能在于操作文件和文件夹在文件系统中的结构,完成诸如:创建,**,读取信息,移动,判断是否存在,删除等功能。public class UseFileInfo
{
//static void Main(string[] arg)
//{
// Processfile();
// Console.Read();
//} static void Processfile()
{
FileInfo info = null;
FileInfo newInfo = null;
//创建文件
info = new FileInfo("c:\\test1.txt");
using (FileStream fs = info.Create())
{ }
Console.WriteLine("原始文件:");
ReadFileInfo(info);
//移动文件
info.MoveTo("c:\\test2.txt");
Console.WriteLine("移动后的新文件:");
ReadFileInfo(info);
//**文件
newInfo = info.CopyTo("c:\\test3.txt");
Console.WriteLine("**后的新文件:");
ReadFileInfo(newInfo);
} static void ReadFileInfo(FileInfo fi)
{
Console.WriteLine("文件名为:"+fi.Name);
Console.WriteLine("文件在:"+fi.DirectoryName);
Console.WriteLine("文件的长度:"+fi.Length);
Console.WriteLine("文件创建于:"+fi.CreationTime);
Console.WriteLine("文件的最后访问时间:" + fi.LastAccessTime);
Console.WriteLine("文件的最后修改时间:" + fi.LastWriteTime);
Console.WriteLine("文件全名是:" + fi.FullName);
Console.WriteLine("文件的扩展名是:" + fi.Extension);
}
} public class UseDirectoryInfo
{
static void Main(string[] args)
{
ProcessDirectoryInfo();
Console.Read();
} static void ProcessDirectoryInfo()
{
DirectoryInfo di = null;
di = new DirectoryInfo("c:\\text");
di.Create();
di.CreateSubdirectory("subidc"); FileInfo info = new FileInfo("c:\\text\\subidc\\text.txt");
using (FileStream fs = info.Create()) { }
ReadDirectoryInfo(di);
di.MoveTo("c:\\test2");
} static void ReadDirectoryInfo(DirectoryInfo di)
{
Console.WriteLine("文件夹名为:"+di.Name);
Console.WriteLine("父文件夹为:"+di.Parent.Name);
Console.WriteLine("文件夹创建于:"+di.CreationTime);
Console.WriteLine("文件夹的最后修改时间:" + di.LastWriteTime);
Console.WriteLine("文件夹的最后访问时间:" + di.LastAccessTime);
Console.WriteLine("文件夹的全名是:" + di.FullName);
Console.WriteLine("文件夹中的文件:");
FileInfo[] fis = di.GetFiles();
foreach (FileInfo fi in fis)
{
ReadFileInfo(fi);
}
Console.WriteLine("文件夹中的子文件夹:");
DirectoryInfo[] dis = di.GetDirectories();
foreach (DirectoryInfo dd in dis)//递归获取所有子文件夹
{
ReadDirectoryInfo(dd);
}
} static void ReadFileInfo(FileInfo fi)
{
Console.WriteLine("文件名为:" + fi.Name);
Console.WriteLine("文件在:" + fi.DirectoryName);
Console.WriteLine("文件的长度:" + fi.Length);
Console.WriteLine("文件创建于:" + fi.CreationTime);
Console.WriteLine("文件的最后访问时间:" + fi.LastAccessTime);
Console.WriteLine("文件的最后修改时间:" + fi.LastWriteTime);
Console.WriteLine("文件全名是:" + fi.FullName);
Console.WriteLine("文件的扩展名是:" + fi.Extension);
}
}
苹果cmsv10系统建站fileinfo模块不支持,有没大神指教一下,尽量详细点
进入宝塔-软件商店-找到你安装的PHP-设置-安装扩展-fileinfo 安装,安装好后,重启下PHP就可以了
php5.5怎样启用php_fileinfo支持?
fileinfo 是php的一个扩展,你需要在安装时候查看是否有这个扩展包,如果有,那就在php.ini写 extension=php_fileinfo.dll 就可以了,如果有这一行,就删除前面的分号。
PHP 是一种在服务器端执行,嵌入到HTML文档的脚本语言,早期的风格类似于C语言与Perl语言,被广泛的运用于网络开发中。PHP6是下一代PHP版本,主要特性为支持Unicode标准。2015年6月11日,PHP官网发布消息,正式公开发布PHP7第一版的alpha版本。
《PHP 5.5从零开始学(视频教学版)》循序渐进地介绍了PHP 5.5开发动态网站的主要知识和技能,提供了大量的PHPPHP应用实例供读者买践。每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能。全书共22章,分别介绍了PHP 5.5的基本概念、PHP服务器环境配置、PHP的基本语法、PHP的语言结构、字符串和正则表达式、数组、时间和日期、面向对象、错误处理和异常处理、PHP与Web页面交互、文件与目录操作、图形图像处理、Cookie与会话管理、MySQL数据库基础、PHP操作MySQL数据库、PDO数据库抽象类库、PHP与JavaScript综合应用、PHP与XML技术的综合应用、PHP与Ajax的综合应用、Smarty模版、Zend framework框架等,最后通过一个PHP+MySQL数据库的综合案例,使读者进一步巩固所学的知识,提高综合实战能力。
Apache2.2和php5怎么加入扩展的fileinfo函数
fileinfo()是pecl的其中的function之一
需安装pecl才能用, 要安装pecl, 必须有phpize指令
我们来执行
pecl install fileinfo
系统提示:
WARNING: "pear/Fileinfo" is deprecated in favor of "channel://php-src/ext/fileinfo/in php sources"
downloading Fileinfo-1.0.4.tgz ...
Starting to download Fileinfo-1.0.4.tgz (5,835 bytes)
.....done: 5,835 bytes
3 source files, building
running: phpize
sh: phpize: not found
ERROR: `phpize' failed
下面安装phpize
首先需要有php5-dev
直接执行phpize,系统会提示:
No command 'phpize' found, did you mean:
Command 'phpize5' from package 'php5-dev' (main)
phpize: command not found
那么我们来安装php5-dev
sudo apt-get install php5-dev
安装完成后,再执行:
sudo pecl install fileinfo
会发现如下的错误提示:
checking for magic files in default path... not found
configure: error: Please reinstall the libmagic distribution
ERROR: `/build/buildd/php5-5.3.2/pear-build-download/Fileinfo-1.0.4/configure' failed
那么再安装一下libmagic:
sudo apt-get install libmagic-dev
安装完成后,再执行:
sudo pecl install fileinfo
ok,看到了这样的提示:
Installing '/usr/lib/php5/20090626/fileinfo.so'
install ok: 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
// return mime type ala mimetype extension
$finfo = finfo_open(FILEINFO_MIME_TYPE);
if (!$finfo) {
echo "Opening fileinfo database failed";
exit();
}
/* get mime-type for a specific file */
$filename = "/ciray/images/copyright.gif"; //这里写你的WEB目录中要测试的文件路径
echo $filename . ' -- ' . finfo_file($finfo, $filename) . 'br';
?
运行一下,如果显示
/ciray/images/copyright.gif -- image/gif
说明大功告成!
评论前必须登录!
注册