phpmyadmin无法加载mcrypt问题解决方法

 更新时间:2016年11月25日 17:38  点击:1912
今天在打开phpmyadmin时提示:phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置,下面我来给大家一起来看看无法载入 mcrypt问题解决办法。


你打开phpmyadmin就会提示 :无法载入 mcrypt 扩展,请检查 PHP 配置错误

出现以下几种情况后可能会造成运行phpmyadmin程序 提示“无法载入 mcrypt 扩展,<br />请检查 PHP 配置”的 错误提示


windows解决办法

1、没有正确安装Mysql数据库,在系统服务中Mysql相关的服务没有启动   (请查看正确安装Mysql的方法)

2、在系统的 system32(C:windowssystem32) 目录下缺少 libmcrypt.dll文件,解决方法是找到php目录下的libmcrypt.dll,并将libmcrypt.dll复制到C:windows system32目录中,然后重新启动Web服务。

3、在C:windows目录下的php.ini文件中,没有将“;extension=php_mcrypt.dll”中的前面一个“;”去 掉,所以不能使用相应功能,解决方法是打开php.ini文件

 代码如下 复制代码

找到

;extension=php_mcrypt.dll

改成

extension=php_mcrypt.dll    //去掉前面的;使之生效


linux系统下解决办法

一:无法加载 mcrypt扩展,请检查您的 PHP 配置

 

 代码如下 复制代码

 
sudo  apt-get install libmcrypt4 php5-mcrypt    //安装libmcrypt

  
sudo /etc/init.d/apache2  restart     //重启apache

二:配置文件现在需要一个短语密码


1、用编辑器打开目录phpmyadmin/libraries中的config.default.php文件

2、查找下面这行:$cfg['blowfish_secret'] = ‘这里就是需要的短语密码’;(短语密码请随意填写)

会出现这个问题,是在配置phpmyadmin填写认证方法时,即下面这行:

$cfg['Servers'][$i]['auth_type'] = ‘cookie’;

在此有四种模式可供选择,cookie,http,HTTP,config

config方式即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。

当该项设置为cookie,http或HTTP时,登录phpmyadmin需要数据用户名和密码进行验证,,具体如下:

PHP安装模式为Apache,可以使用http和cookie;

PHP安装模式为CGI,可以使用cookie

今天买了一个空间发现空间不支持fsockopen函数,后来网上找了几种解决空间不支持fsockopen方法,下面给大家分享一下,希望对各位朋友有所帮助呀。

为了服务器安全考虑很多主机商禁用了php的fsockopen函数,昨天进博客,使用cos-html-cache生成静态文件,尼玛提示:

Warning: fsockopen() has been disabled for security reasons in D:...cos-html-cachecos-html-cache.php on line 35

换了其他版本的cos-html-cache,还是不行。后来找到下面的方法。 = =、(结果不行,因为函数都被禁用了。)

大家试下,很少有我这样的情况的,用其他替代函数。

一、如何禁用fsockopen()

下面是两种常用的禁用fsockopen的方法。

1、修改php.ini,将  disable_functions =   后加入  fsockopen  
2、修改php.ini,将  allow_url_fopen = On   改为  allow_url_fopen = Off  

二、如何解决fsockopen函数被禁用

1、如果服务器没有同时禁用pfsockopen,那么直接将fsockopen函数替换为pfsockopen。
具体操作:搜索程序中的字符串  fsockopen(   替换为  pfsockopen(   。示例如下
修改前:

 代码如下 复制代码

$fp = fsockopen($host, 80, $errno, $errstr, 30);

修改后:
 

$fp = pfsockopen($host, 80, $errno, $errstr, 30);


2、如果服务器同时禁用了pfsockopen,那么用其他函数代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的参数不同。
具体操作:搜索程序中的字符串  fsockopen(   替换为  stream_socket_client(   ,然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。示例如下
修改前:
 

 代码如下 复制代码

$fp = fsockopen($host, 80, $errno, $errstr, 30);

修改后
 

$fp = stream_socket_client($host."80", $errno, $errstr, 30);


3、如果PHP版本低于5.0,fsockopen被禁用,又没有stream_socket_client()怎么办呢?自己写一个函数实现fsockopen的功能,参考代码:

 代码如下 复制代码
 
function b_fsockopen($host, $port, &$errno, &$errstr, $timeout) {
 $ip = gethostbyname($host);
 $s = socket_create(AF_INET, SOCK_STREAM, 0);
 if (socket_set_nonblock($s)) {
  $r = @socket_connect($s, $ip, $port);
  if ($r || socket_last_error() == EINPROGRESS) {
   $errno = EINPROGRESS;
   return $s;
  }
 }
 $errno = socket_last_error($s);
 $errstr = socket_strerror($errno);
 socket_close($s);
 return false;
}

具体操作:

1.首先找到使用fsockopen函数的代码段,将上面代码加至其上端,搜索该代码段中的字符串  fsockopen(   替换为  b_fsockopen(  

2.因为fsockopen函数返回文件指针所以可以被文件函数操作,但是这个b_fsockopen函数没能返回文件指针,需要继续修改代码段:用socket_read(   替换掉  fread(   ,用socket_write(   替换掉fwrite(   ,用socket_close(   替换掉fclose(   。


解决方案二:

fsockopen大多数应用是的获取远程页面数据,对于获取远程页面这种应用,PHP还有其他函数可以完美替代:
 
方法1:

 代码如下 复制代码
<?php
$str = file("http://www.111cn.net");
$count = count($str);
for ($i=0;$i<$count;$i++){
     $file .= $str[$i];
     }
echo $file;
?>

 
 
方法2:

 代码如下 复制代码
<?php
$str = file_get_contents("http://www.111cn.net");
echo $str;
?>
本文章来给大家介绍关于无法启动此程序,因为计算机丢失php_mbstring.dll的解决办法,希望此方法对各位同学有所帮助。

在使用命令行创建Zend FrameWork项目的时候,计算机提醒“无法启动此程序,因为计算机丢失php_mbstring.dll。尝试重新安装该程序以解决问题。”解决这个问题的方法是:

sublime text2 保存php文件提示“无法启动此程序,因为计算机中丢失php_pdo.dll 尝试重新安装该程序以解决此问题”



请教大神这是什么原因

装的插件有
 

      首先,你要确定你的PHP已经包含php_mbstring.dll文件,可以查看php安装目录下的ext文件下是否有此文件,没有请根据php版本下载合适的php_mbstring.dll文件,并放进ext目录下。

      然后,修改php.ini配置。去掉“;extension=php_mbstring.dll”和“;
extension=php_exif.dll”前的分号,并保证php_mbstring.dll在php_exif.dll之前加载,因为加载php_exif.dll需要用到php_mbstring.dll。然后保存php.ini,并重启web服务器。

 

strtotime()函数是php日期函数了,出现这种问题就是我们php.ini中的date.timezone没有设置好,只要配置一下时区即可解决。


php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的。显示的时间都是格林威治标准时间,和 北京时间差了正好8个小时。

解决方案是:

修改php.ini文件,查找 ;date.timezone = ,把前面的分号去掉在 “=”后面加上时区。

比如:

Asia/Chongqing (重庆),
Asia/Shanghai (上海),
Asia/Urumqi (乌鲁木齐),
Asia/Macao (澳门),
Asia/Hong_Kong (香港),
Asia/Taipei (台北),
PRC 中国

 代码如下 复制代码

date.timezone = PRC

也可以才php中程序页面最前面加

 代码如下 复制代码

<?php
date_default_timezone_set('Asia/Chongqing');
echo date('Y-m-d H:i:s');
?>

相关推荐阅读

php中时间相差8小时的多种解决办法

http://www.111cn.net/phper/31/42398.htm

php 日期时差8小时间解决方法

http://www.111cn.net/phper/31/37224.htm

php获取服务器时间(解决8小时差距问题)

http://www.111cn.net/phper/31/34041.htm

今天刚配置的php环境结果在php启动时无法加载php_mysql.dll、php_mysqli.dll了,这个我配置是没有问题呀,下面我来给大家介绍php_mysql.dll、php_mysqli.dll无法加载解决方法。

今天启动php环境时,发现mysql模块功能不能使用,网站返回500错误。查看了下apache下错误日志。发现下面一段错误信息:

PHP Warning: PHP Startup: Unable to load dynamic library 'D:/wwwserver/php/ext//php_mysql.dll' - /xd5/xd2/xb2/xbb/xb5/xbd/xd6/xb8/xb6/xa8/xb5/xc4/xc4/xa3/xbf/xe9/xa1/xa3/r/n in Unknown on line 0

这说明php没有成功加载php_mysql.dll这个文件

首先要确保php配置文件php.ini中extension_dir值填写正确,最好使用绝对地址。


extension_dir = "D:/wwwserver/php/ext"

如果其他dll加载成功,而php_mysql.dll、php_mysqli.dll加载未成功。

则按下面两种方法解决:

(1)、将php目录下libmysql.dll复制到apache目录下bin子目录中
(2)、apache配置文件httpd.conf 加上下面一段话
LoadFile "D:/wwwserver/php/libmysql.dll"

ps:上面代码LoadFile "D:/wwwserver/php/libmysql.dll" 其中"D:/wwwserver/php/"为php的目录
ps:重启过后还是不行,可能就是版本的问题了,如apache下不要使用vc9版本php。新手就建议下个一键安装包

附另一解决办法


apache下

比如我的apache装在D盘,目录是D:/severs/apache
PHP的目录是D:/servers/php5
这样,把D:/servers/php5/libmysql.dll拷贝到D:/servers/apache/bin这个目录下面
重启apache,问题迎刃而解!~~

iis下:
将php目录下的libmysql.dll复制到c:/windows/system32/目录里面,然后重启iis即可。如果提示正在使用,可以先停止iis(iisreset /stop)即可

当然提示其它dll文件也是一样的解决方法,一般情况下是先检查php目录权限,一般everyone读取,浏览 运行即可。

[!--infotagslink--]

相关文章

  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • 解决IDEA插件市场Plugins无法加载的问题

    这篇文章主要介绍了解决IDEA插件市场Plugins无法加载的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-21
  • 连接MySql速度慢的解决方法(skip-name-resolve)

    最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21
  • phpmyadmin config.inc.php配置示例

    phpmyadmin config.inc.php配置示例...2013-09-29
  • 总结android studio注意事项及打不开等问题解决方法

    经过一段时间的使用,总结了android studio打不开等问题的6种解决方法及android studio注意事项,希望对大家有所帮助。 1 首次运行,建立好项目需要下载一些东西,如果...2016-09-20
  • MySQL ERROR 2013 (HY000)错误解决方法

    当通过 TCP/IP 连接 MySQL 远程主机时,出现 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104 。如果是在linux shell命令行中直接打 mysql 命令,...2015-03-15
  • IE6-IE9中tbody的innerHTML不能赋值的解决方法

    IE6-IE9中tbody的innerHTML不能赋值,重现代码如下 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>IE6-IE9中tbody的innerHTML不能复制bug</title> </head> <body style="height:3...2014-06-07
  • Mysql修改datadir导致无法启动问题解决方法

    centos6.2,停止mysqld然后修改/etc/my.cnf datadir的位置,启动mysqld提示FAILED,查看日志 复制代码 代码如下: 120609 11:31:31 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 120609 11:35:12 my...2015-03-15
  • 小米解锁验证失败怎么办 小米解锁工具登录失败解决方法

    小米手机如果想要刷机就必须要先解锁验证才可以,那么,如果遇到小米解锁验证失败以及小米解锁工具登录失败的现象怎么办呢?对此,本文就为大家进行解答,有需要的朋友来看看。...2016-12-21
  • Photoshop提示“此产品的许可证已过期"及“无法开始您的Adobe Photoshop CS5.1 订阅”解决方法

    首先不要鄙视我用Photoshop盗版,实在是贵。现在我们来看看如果你的Photoshop提示“此产品的许可证已过期",还有“无法开始您的Adobe Photoshop CS5.1 订阅”如何解决吧...2016-09-14
  • 使用phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分。而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的...2015-10-21
  • phpMyadmin创建数据库和设置用户权限图解

    phpmyadmin是一款很不错的WEB对mysql数据库管理软件,如果你想创建数据库与设置用户权限我们必须操作用户的很高的权限,如ROOT权限,下面我来给大家介绍介绍。 先来配...2016-11-25
  • photoshop字体显示乱码解决方法

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来详细的说一下软件的字体出现了乱码这一问题的解决方法,那么各位有出现这个问题的,下面就来跟着小编一起看...2016-09-14
  • 修改mysql密码phpmyadmin不能登录

    出现phpmyadmin不能登录是我在修改我mysql服务器密码之后导致的,后来百度了相关的原因,原来是修改了mysql密码之后我们还需要在phpmyadmin目录中去修改config.inc.php中...2016-11-25
  • 51安卓模拟器启动失败解决方法

    有部分小伙伴表示自己遇到了51模拟器程序不能打开的情况,那么51模拟器打不开怎么回事?下面我就来为大家分享一下解决的方法,有需要的小伙伴就来看一看吧。 &#8195;&...2017-07-06
  • CentOS下php使用127.0.0.1不能连接mysql的解决方法

    php代码很简单:复制代码 代码如下: $server="127.0.0.1"; println("Begin"); $link = mysql_connect($server,"mysql","mysql"); if (!$link) { die('Could not connect: ' . mysql_error().mysql_errno()); } lin...2015-03-15
  • PHP is_subclass_of函数的一个BUG和解决方法

    is_subclass_of的作用:复制代码 代码如下:bool is_subclass_of ( object object, string class_name )如果对象 object 所属类是类 class_name 的子类,则返回 TRUE,否则返回 FALSE。注: 自 PHP 5.0.3 起也可以用一个字符...2014-06-07