phpmyadmin 出现The mbstring extension is missing

 更新时间:2016年11月25日 17:37  点击:1435
下在文章给各位同学分享一个关于phpmyadmin 出现The mbstring extension is missing问题的解决方案,希望文章对各位有帮助。

phpmyadmin提示:

The mbstring extension is missing. Please check your PHP configuration.

其实只要运行一段:yum install php-mbstring,就OK了,收工!

如果用的是linux的话,可能是这个问题:
查看一下 /etc/php5/mods-available/json.ini 这个文件,把第二行开头的分号去掉,也就是去掉注释。然后保存,重启php就可以了。

最近一客户反映他们网站上所有的图片下载不了了,下载下来的图片都提示文件被破坏,直接导致打不开,作者测试了下发现确实有这个问题,仔细看了下源代码,发现问题的根源在fread这个函数,fread函数的第二个参数是设置读取最大的字节数

经试验发现fread函数单次最大能够读取的字节数是有限制的,仅为8192个字节,即8KB,对于超过这个大小的文件,如果要完整读取,则需要循环读取直至文件结尾。综合以上做了些改正,以下代码是休整之后的代码,经测试问题解决。

 代码如下 复制代码


function download($file_url,$new_name=''){
 if(!isset($file_url)||trim($file_url)==''){
  return '500';
 }
 if(!file_exists($file_url)){//检查文件是否存在
  return '404';
 }
 $file_name=basename($file_url);
 $file_type=explode('.',$file_url);
 $file_type=$file_type[count($file_type)-1];
 $file_name=trim($new_name=='')?$file_name:urlencode($new_name).'.'.$file_type;
 //输入文件标签phpernote
 header("Content-type: application/octet-stream");
 header("Accept-Ranges: bytes");
 header("Accept-Length: ".filesize($file_url));
 header("Content-Disposition: attachment; filename=".$file_name);
 //输出文件内容
 @readfile($file_type);
}

php5.2以后自带json_decode函数,但是对json文本串的格式要求非常严格,如果我们稍有一点不注意很可能使用该函数得到的返回值是NULL了,今天我就碰到此问题下面一起来看看。

可以使用使用json_last_error()函数获取到的返回值来帮助我们判断出问题的原因。

其中如果提示错误JSON_ERROR_SYNTAX(Syntax error),表示json串格式错误。

可以通过以下几个方式排错:

1. json字符串必须以双引号包含

 代码如下 复制代码

$output = str_replace("'", '"', $output);

2. json字符串必须是utf8编码

$output = iconv('gbk', 'utf8', $output);

3.不能有多余的逗号 如:[1,2,]
用正则替换掉,preg_replace('/,\s*([\]}])/m', '$1', $output)

本文章重点给各位介绍关于在使用phpMyAdmin时提示Cannot start session without errors错误问题的解决方法,希望文章对各位有帮助。

环境:linux ,apache2 ,php5

问题:打开phpmyadmin出现如下错误:

Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.

解决办法如下:

vim /etc/php5/apache2/php.ini

查找session.save_path ,将session.save_path=/var/lib/php5这一句的注释符号去掉。

如还不能正常工作,将session.auto_start的值改为1(启动),默认是0(禁用)

这个错误一般是由于session文件的存储路径不可写造成的,在linux下一般是路径的权限问题。在windows下面session.save_path一定要设置到一个可以读写的路径,如 D:/tmp 等。

今天在iis中使用php环境时发现用了一会运行php文件就提示PHP has encountered an Access xxx错误了,在网上找了很多的解决办法,下面我来给各位总结一下各种解决方法与原理。

iis+php环境

有客户反映在VPS中出现该错误:PHP has encountered an Access Violation at *

根据错误提示,可以用以下办法解决:

1、重启IIS,重启VPS主机即可。

2、关闭eaccelerator扩展
找到php.ini
如果是我帮您配置的,一般在c:/windows/php.ini

去掉

zend_extension_ts="C:phpextensionseaccelerator_win_xxx.dll"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="c:temp"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

3、session_save_path 需要设定一个实际的物理路径,并且该目录需要everyone的所有权限,类似U主机的0777

4、您的内存严重不足

5、ZendOptimizer和php的搭配不是很好,换个版本试试看

6、这种多属于用win2003的用户,他们在应用池中设定了限制,比如多长时间回收,最大使用内存多少等等

技术部门推荐,重启IIS即可,因为这个错误出现的几率非常低。

php+apache环境

1、更新到5.2后php版本
2、是否zend所需的dll文件所在目录给的权限不够,必须有读取和运行的权限
3、如果使用的是windows系统,是否设置过应用池,比如池中限制了什么
4、高版本的PHP和Mysql存在兼容性的问题。c:/windows/system32下的libmysql.dll 使用php下的,不要使用mysql下的,因为两个程序下都有
5、php.ini有两个地方没有设置
1)
将;upload_tmp_dir该行的注释符,即前面的分号“;”去掉,使该行在php.ini文档中起作用。
upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以给其定义一个绝对路径
比如:upload_tmp_dir = d:\tmp  
(d:\tmp目录必须有读写权限)
2)
php.ini中关于session.save_path一项没有设置好,解决的方法是将
session.save_path和session.cookie_path 定义一个绝对路径
比如:
session_save_path = d:\temp
session.cookie_path = d:\temp
(d:\tmp目录必须有读写权限)

或者因为安装了一些组件导致。都可以参考下。
最近我的windows2003服务器频繁出现“PHP has encountered an Access Violation at ××××××”这样的错误,尝试搜索了下,遇到这样问题的人还真不少。我的原因可以锁定在eaccelerator上面,因为之前php运行效率不大满意,所以装了eaccelerator加速,效果还是不错的,但随着数据库不断加大,查询和更新数据库操作太频繁,出现了“PHP has encountered an Access Violation at ××××××”这个错误。网上的解决办法无非就是去掉eaccelerator加速,这肯定不行,因为我要用,那就按他们说的配置一下吧,什么临时文件啊、session路径啊,都改了,还是不行,于是就想是不是mysql版本的问题呢?看了下,发现dll的大小和修改日期还真不一致,于是把mysql下的dll覆盖了从php里拷贝到系统目录的dll,重启iis,貌似好了,但是重启服务器后又出现了,看来问题不在这,难道是iis应用程序池的问题?

  尝试去除这个站点的所有限制,但是重启服务器后发现又不行,还是这个错误。观察了下,只要重启iis就能临时解决这个问题,但是这不治本啊。仔细想了下,既然我的环境没有问题,是在装了eaccelerator后出现问题,那就从eaccelerator下手。仔细检查每个配置,发现我配置的一点问题都没有,无论eaccelerator的版本、php的版本,还是mysql的版本,都没问题,权限也都够,php.ini配置也正确,但重启iis就好使一阵子,于是把问题定位到应用程序池。因为我的iis之前配置一点问题都没有。最近看eaccelerator资料是共享内存和硬盘,难道是iis应用程序池和其他站点共享导致这个问题?于是重新建立应用程序池,把这个应用程序池只独立分配给出问题的站点,适当减少对资源的限制,重启iis,好使了,重启服务器,也好使了,做了个简单的压力测试,也好使了。
 

[!--infotagslink--]

相关文章

  • 详解C++ string常用截取字符串方法

    这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • mybatis 返回Integer,Double,String等类型的数据操作

    这篇文章主要介绍了mybatis 返回Integer,Double,String等类型的数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-25
  • phpmyadmin config.inc.php配置示例

    phpmyadmin config.inc.php配置示例...2013-09-29
  • 浅谈C++中的string 类型占几个字节

    本篇文章小编并不是为大家讲解string类型的用法,而是讲解我个人比较好奇的问题,就是string 类型占几个字节...2020-04-25
  • 【C#基础】Substring截取字符串的方法小结(推荐)

    这篇文章主要介绍了Substring截取字符串方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • java中String类型变量的赋值问题介绍

    下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
  • phpMyadmin创建数据库和设置用户权限图解

    phpmyadmin是一款很不错的WEB对mysql数据库管理软件,如果你想创建数据库与设置用户权限我们必须操作用户的很高的权限,如ROOT权限,下面我来给大家介绍介绍。 先来配...2016-11-25
  • 使用phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分。而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的...2015-10-21
  • 修改mysql密码phpmyadmin不能登录

    出现phpmyadmin不能登录是我在修改我mysql服务器密码之后导致的,后来百度了相关的原因,原来是修改了mysql密码之后我们还需要在phpmyadmin目录中去修改config.inc.php中...2016-11-25
  • C# 中string.split用法详解

    本文给大家分享了C# 中string.split用法的相关知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2020-06-25
  • c#中的常用ToString()方法总结

    很多类都重写了ToString方法, 导致很多类的tostring到底执行了什么,有哪些参数,都不清楚...2020-06-25
  • Go中string与[]byte高效互转的方法实例

    string与[]byte经常需要互相转化,普通转化会发生底层数据的复制,下面这篇文章主要给大家介绍了关于Go中string与[]byte高效互转的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...2021-09-20
  • phpmyadmin不能登录,无任何提示的问题解决

    昨天有一朋友说自己的phpmyadmin不能登录并且无任何提示了,问我怎么解决,下面我来分享一下关于phpmyadmin不能登录问题总结. phpmyadmin不能登录没有提示 解决方法:...2016-11-25
  • 在C#的类或结构中重写ToString方法的用法简介

    这篇文章主要介绍了在C#的类或结构中重写ToString方法的用法简介,需要的朋友可以参考下...2020-06-25
  • Javascript实现Array和String互转换的方法

    这篇文章主要介绍了Javascript实现Array和String互转换的方法,涉及JavaScript中toString方法与split方法的使用技巧,需要的朋友可以参考下...2015-12-24
  • phpMyAdmin 高级功能设置的方法图解

    phpmyadmin还有高级功能可能大部份站长不知道吧,今天本文章就来给大家介绍phpMyAdmin 高级功能设置的方法图解,希望文章对大家会有所帮助。 phpMyAdmin 安装后,默认...2016-11-25
  • phpmyadmin写入一句话木马的测试

    下面我们一起来看看一篇关于phpmyadmin写入一句话木马的测试教程,希望此教程能够对各位有帮助。 方法一,一句话木马偶尔拿到一个config中,发现是root,且还有phpmyadmi...2016-11-25
  • C#中enum和string的相互转换

    这篇文章主要介绍了C#中enum和string的相互转换的相关资料,需要的朋友可以参考下...2020-06-25
  • C#中Byte[]和String之间转换的方法

    很多朋友不清楚如何在Byte[]和String之间进行转换?下面小编给大家带来了byte与string转换的方法,感兴趣的朋友参考下吧...2020-06-25
  • C++ 字符串string和整数int的互相转化操作

    这篇文章主要介绍了C++ 字符串string和整数int的互相转化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-10