PHPMYADMIN 无法载入MYSQL扩展,请检查PHP配置

 更新时间:2016年11月25日 15:47  点击:1543
今天在使用phpMyAdmin时,phpMyAdmin提示无法载入MYSQL扩展,请检查PHP配置错误了,下面我把我解决过程分享给各位同学有需要了解的朋友可进入参考。

1,首先,我们就来检查PHP配置文件 php.ini

  打开PHP所安装目录下的 php.ini 文件,Ctrl+F搜索“php_mysql.dll”,将“;extension=php_mysql.dll”前的“;”删除以取消注释,同时搜索并修改“extension_dir”的值为“php_mysql.dll”文件所在文件夹。即:

  extension_dir = "D:PHPext"

  extension=php_mysql.dll

  2,然而通过这一页所使用的安装版是没有保存PHP扩展DLL文件的ext文件夹的,所以也就没有php_mysql.dll,我们运行phpMyAdmin当然会有问题

  继续打开http:\www.php.netdownloads.php 选择“PHP 5.2.3 zip package”压缩包文件,将其中的ext文件夹全部解压到PHP的安装目录下,所以才有了extension_dir = "D:PHPext"(注:前提是你的PHP安装在D盘)

  3,完成了对php.ini文件的修改和包含有php_mysql.dll的ext文件夹的添加,建议重新启动下计算机,再来调试phpMyAdmin

  4,当然,对于phpMyAdmin文件夹内的config.inc.php文件进行MySQL帐号和密码的修改。

 另外,在网络上搜索了下本问题的相关解决方法,有的解决还需要把“php.ini文件和php_mysql.dll拷贝到了c:windows 以及c:windowssystem32目录”内,这是由于PHP是非安装版,一般安装版则不需要了,你可以在“我的电脑”属性“高级”中选择“环境变量”查看系统变量“Path”其中就指明了PHP的安装路径。

 phpMyAdmin“无法载入mysql扩展,请检查PHP配置”的问题解决

总结一下


然后大费周折的实验php安装文件夹里面的三个文件,php.ini;libmysql.dll;extphp_mysql.dll;

其中php.ini中

;extension=php_mysql.dll改成了extension=php_mysql.dll

extension_dir = "." 这个不重要,不一定非要改成extension_dir = "c:phpext"

最后我把php.ini拷贝到了c:windows目录;c:windowssystem32目录

把libmysql.dll;extphp_mysql.dll;也分别拷贝进这两个目录

在网站开发中跨域是一个头痛的事情,我经常要需要解决各种跨域问题,今天我来介绍在php中利用JSONP跨域实现方法,各位J友可参考参考。


先看一个实例

 代码如下 复制代码


$("#btn").click(function(k) {
    //...
    var j = form.serializeArray();//序列化name/value
    $.ajax({
        url: "另一个域名/test.php",
        dataType: 'jsonp',
        data: j,
        jsonp: 'jsonp_callback',
        success: function(json) { //返回的json数据
           json = json || {};
            if (json.msg=='err'){
                alert(json.info);
            }else if (json.msg=="ok"){
                alert('提交成功');
            }else{
                alert('提交失败');
            }
        },
        timeout: 3000
    })
    //...
});


php部分:

 代码如下 复制代码
$jsonp_callback=$_GET['jsonp_callback'];
//...
//如果正确
echo $jsonp_callback,'({"msg":"ok"})';
5.//如果错误
echo $jsonp_callback,'({"msg":"err","info":"因人品问题,发送失败"})';

//...值得注意的是采用jsonp 方式,beforeSend / error 都不能用了,所以beforeSend里面用js实现的验证只能用ajax在服务器端test.php上面验证了。

域名下面有这么个html文件testjsonp.html:

代码如下:

 代码如下 复制代码

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN“ “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
 <html xmlns=“http://www.w3.org/1999/xhtml“ >
 <head>
     <title>Untitled Page</title>
      <script type=“text/javascript“ src=“jquery-1.7.2.min.js“></script>
      <script type=“text/javascript“>
     jQuery(document).ready(function(){
        $.ajax({
             type: “GET“,
             async: false,
             //url: “http://test/jsonp.php“,
             url:“http://mytaobao.com/jsonp.php“,
             dataType: “jsonp“,
             jsonp: “callback“,//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
             jsonpCallback:“flightHandler“,//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写“?“,jQuery会自动为你处理数据
             success: function(json){
                 alert('您查询到航班信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。回调函数名为: '+json.func);
             },
             error: function(){
                 alert(“fail“);
             }
         });
     });
     </script>
     </head>
  <body>
  </body>
 </html>

注意,要真正运行上面的代码可能需要jquery的文件,你可以将

 代码如下 复制代码
<script type=“text/javascript“ src=“jquery-1.7.2.min.js“></script>

改为你目录中jquery的文件路径:
如:

 代码如下 复制代码
<script type=“text/javascript“ src=“js/jquery.js“></script>

然后,你可以再找个另外一个域名的web目录,将文件jsonp.php:

代码如下:

 代码如下 复制代码
<?php
$callback = $_GET[“callback“];
$a = array(
 'code'=>'CA1998',
    'price'=>'6000',
    'tickets'=>20,
    'func'=>$callback,
);
$result = json_encode($a);
echo “flightHandler($result)“;
exit;

放到这个目录下面去。这样就可以测试了。
直接在浏览器访问testjsonp.html.就可以看到效果了

phpmailer是一个非常优秀的php邮箱发送插件了,他可以几乎实现任何邮箱登录发送,下面我介绍163邮箱 126邮箱 yahoo邮箱的发送方法。

准备工作:

我们必须注册一个邮箱(163邮箱 126邮箱  yahoo邮箱)随便一个

注意事项

这些邮箱必须是支持登录发送才可以,我们配置就一个地方不。

163邮箱 $mail->Host = "smtp.163.com";


126邮箱 $mail->Host = "smtp.126.com";


yahoo邮箱 $mail->Host = "smtp.mail.yahoo.com.cn";

其它的地方一样的写法,用户名密码你当然要写自己的哦。

我下以163邮箱为实例

 代码如下 复制代码

<?php
require_once('../class.phpmailer.php');
$mail= new PHPMailer();
$body= "我终于发送邮件成功了!呵呵!<br/>";
//采用SMTP发送邮件
$mail->IsSMTP();
//邮件服务器
$mail->Host = "smtp.163.com";
$mail->SMTPDebug = 0;
//使用SMPT验证
$mail->SMTPAuth = true;
//SMTP验证的用户名称
$mail->Username = "********@163.com";
//SMTP验证的秘密
$mail->Password = "***";
//设置编码格式
$mail->CharSet = "utf-8";
//设置主题
$mail->Subject = "测试";
//$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
//设置发送者
$mail->SetFrom('****@163.com', 'test');
//采用html格式发送邮件
$mail->MsgHTML($body);
//接受者邮件名称
$mail->AddAddress("***@163.com", "test");//发送邮件
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}

注意,红色地方就是根据你自己的需要修改。

SoapClient,php5自带的。当然,也可以使用nusoap.php这个纯php写的类,该类代码行数为7K多行,效率上肯定不如SoapClient。

一、寻找WebService来源

WebService可以自己编写,但是也可以从网络上去寻找现成的。我用的是www.xmethods.net里的US Zip Validator。它的WSDL文件位置在:http://www.webservicemart.com/uszip.asmx?WSDL。 它的作用是根据输入的ZIP代码,返回该代码对应的美国地名,州名,经纬度等。

二、创建SoapClient

第二步就是创建SoapClient,并调用WebService中的方法,并获得返回值。PHP代码如下


二、创建SoapClient

第二步就是创建SoapClient,并调用WebService中的方法,并获得返回值。PHP代码如下:

 代码如下 复制代码

$objSoapClient = new SoapClient("http://www.webservicemart.com/uszip.asmx?WSDL");

$param=array("ZipCode"=>$zip);
$out=$objSoapClient->ValidateZip($param);
$data=$out->ValidateZipResult;

SoapClient的创建有好多方法,我们用的是最标准的(也是最简单的)WSDL方法。由于查询ZIP的方法肯定需要一个参数,所以我们必须创建一个数组,用“参数名=>取值”的方式进行赋值。

也许读者会对这个数组的创建有一定的兴趣。比如,我们怎么知道“参数名”应该是“ZipCode”而不是别的什么呢?为什么没有更多的参数了,而只有一个?OK,这个问题我们稍后解释。因为这牵涉到WSDL的解读。

创建好参数后,同样的,我们调用SoapClient的方法ValidateZip,并传递参数进去;对于返回的结果,我们用$data变量取出我们真正感兴趣的东西。同样的,这里也存在方法名称是如何确定的问题。我们也在稍后介绍。

如果你也使用PhpEd进行PHP的开发和调试,那么从下面的调试窗口截图中,你可以很清除的看到$data和$out之间的关系:


三、解析数据

上面得到的$data中的数据是标准的XML结构的数据。所以在PHP中,我们需要创建一个XML解析器来对这个数据进行分析。代码如下:

 代码如下 复制代码

$ParsedData=array();

function startElement($parser, $name, $attribs)
{
    global $ParsedData;
    echo "<<font color="#0000cc">$name</font>";
    if (count($attribs)) {
        foreach ($attribs as $k => $v)
        {
            $ParsedData[$k]=$v;

            echo " <font color="#009900">$k</font>="<font color="#990000">$v</font>"";
        }
    }
    echo ">";
}

function endElement($parser, $name)
{
    echo "</<font color="#0000cc">$name</font>>";
}

$xml_parser= xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
xml_set_element_handler($xml_parser, "startElement", "endElement");

echo "<pre>";
if (!xml_parse($xml_parser, $data)) {
    die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)),
         xml_get_current_line_number($xml_parser)));
}
echo "</pre>";

xml_parser_free($xml_parser);

这里的详细操作需要参考PHP函数手册中关于XML函数的那一章。这里不再赘述。一旦数据被解析成功,我们就可以进行进一步的处理。例如下面的代码就遍历该数组,然后输出:

 代码如下 复制代码
foreach ($ParsedData as $k=>$v)
{
    echo $k."=>".$v."<br />";
}

四、解读WSDL

上面我们留下了两个疑问:如何知道一个WebService提供的方法,以及它的参数?所有的答案都在WSDL描述中。对于本文使用的WSDL来说,我们 从中截取一段来分析。由于我们是通过Soap进行调用,所以我对完整的WSDL进行了节选,只列出关于Soap调用的部分(反相显示的部分):

 

首先我们注意到<wsdl:message name=”ValidateZipSoapIn”>这一节,它指出了在Soap调用中,入口参数要参照ValidateZip,于是我们接着转到文件上面一点的地方,看ValidateZip方法的定义:

 代码如下 复制代码

<s:element name="ValidateZip">
    <s:complexType>
        <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string"/>
        </s:sequence>
    </s:complexType>
</s:element>

很明显,ValidateZip要求一个参数,名称为ZipCode,类型为string。

同样,我们再看<wsdl:message name=”ValidateZipSoapOut”>这一节,它指出Soap调用的出口参数是ValidateZipResponse。而后者的 传出参数名称是ValidateZipResult。于是,我们就解释了前两节提出的问题:

•怎样找到要调用的函数?
•怎样知道函数的参数、类型?
•怎样得到函数的返回值?

例2,

这里我们使用php5自带的类来操作

我的结构如下:在 webservice 文件夹下有如下三个文件:Personinfo.php,SoapClient.php,SoapServer.php,具体作用可以参照代码中的注释。

 代码如下 复制代码


<?php
/**
* Personinfo.php
* 此类包含了需要调用的方法
* @author itbdw
*
*/
class Personinfo {

/**
* 返回姓名
* @return unknown_type
*/
public function getName() {
return ‘IT不倒翁’;
}

/**
* 返回特定格式的日期
* @return unknown_type
*/
public function getTime() {
return date(‘Y-m-d’);
}

}

 代码如下 复制代码

<?php
/**
* SoapServer.php
* webservice 服务器端实例
*/
//包含提供服务的类
require_once ‘Personinfo.php’;

//根据实际情况修改下行内容
$s = new SoapServer(null, array("location" => "http://zby/webservice/SoapServer.php", "uri" => "SoapServer.php"));

$s->setClass("PersonInfo");

$s->handle();
[/php]
[php]
<?php
<?php
/**
* SoapClient.php
* webservice 客户端实例
*/

header(‘Content-Type:text/html;charset=utf-8′);

try {

//根据实际情况修改下行内容
$soap = new SoapClient(null, array(‘location’=>’http://zby/webservice/SoapServer.php’, ‘uri’=>’SoapServer.php’));

echo $soap->getName();
echo $soap->getTime();

} catch(SoapFault $e) {
echo $e->getMessage();
} catch(Exception $e) {
echo $e->getMessage();
}

本文章来给大家总结了一些常用的php根据出生日期计算年龄 生肖 星座程序,希望给各位同学所有帮助了。

例1

 代码如下 复制代码

function getAge($birthday) {
 $age = 0;
 $year = $month = $day = 0;

 if (is_array($birthday)) {
  extract($birthday);
 } else {
  if (strpos($birthday, '-') !== false) {
   list($year, $month, $day) = explode('-', $birthday);
   $day = substr($day, 0, 2); //get the first two chars in case of '2000-11-03 12:12:00'
  }
 }

 $age = date('Y') - $year;
 if (date('m') < $month || (date('m') == $month && date('d') < $day)) $age--;
 return $age;
}


例2

 代码如下 复制代码


function age($birth) {
 $age = array();
 //$now = date('Ymd');
 $now = "20110228";
 //分解当前日期为年月日
 $nowyear = (int) ($now / 10000);
 $nowmonth = (int) (($now % 10000) / 100);
 $nowday = $now % 100;
 
 
 //分解出生日期为年月日
 $birthyear = (int) ($birth / 10000);
 $birthmonth = (int) (($birth % 10000) / 100);
 $birthday = $birth % 100;
 
 $year  = $nowyear - $birthyear;
 if ($birthmonth>$nowmonth){
  $year--;
 }else if($birthmonth==$nowmonth){
  if($birthday==29&&$birthmonth=2){
/*    if($nowyear>3200||($nowyear%3200==0&&$nowyear%172800==0)){
    if($birthday>$nowday){
     $year--;
    }
   }else if($nowyear==3200){
    if (($birthday>$nowday)&&$nowday!=28){
     $year--;
    }
   }else */
   if ($nowyear%400==0||(($nowyear%4==0)&&($nowyear%100!=0))){
    if($birthday>$nowday){
     $year--;
    }
   }
  }
 }
 
 return $year;
 
 
 
 
}

根据生日计算年龄 星座 生肖

水瓶座'=>'(1/22-2/21)',   '双鱼座'=>'(2/22-3/21)',

'白羊座'=>'(3/22-4/21)',   '金牛座'=>'(4/22-5/21)',

'双子座'=>'(5/22-6/21)',   '巨蟹座'=>'(6/22-7/21)',

'狮子座'=>'(7/22-8/21)',   '处女座'=>'(8/22-9/21)',

'天秤座'=>'(9/22-10/21)',  '天蝎座'=>'(10/22-11/21)',

'射手座'=>'(11/22-12/21)',  '摩羯座'=>'(12/22-1/21)'

 代码如下 复制代码

[font=Arial]<?php[/font]

[font=Arial]/**

 * 根据生日中的月份和日期来计算所属星座

 *

 * @param int $birth_month

 * @param int $birth_date

 * @return string

 */

function get_constellation($birth_month,$birth_date)

{

 //判断的时候,为避免出现1和true的疑惑,或是判断语句始终为真的问题,这里统一处理成字符串形式

 $birth_month = strval($birth_month);

 

 $constellation_name = array(

      '水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座',

      '狮子座','处女座','天秤座','天蝎座)','射手座','摩羯座'

      );

 

 if ($birth_date <= 22)

 {

  if ('1' !== $birth_month)

  {

   $constellation = $constellation_name[$birth_month-2];

  }

  else

  {

   $constellation = $constellation_name[11];

  }

 }

 else

 {

  $constellation = $constellation_name[$birth_month-1];

 }

 

 return $constellation;

}[/font]

 

 

[font=Arial]/**

 * 根据生日中的年份来计算所属生肖

 *

 * @param int $birth_year

 * @return string

 */

function get_animal($birth_year)

{

 //1900年是子鼠年

 $animal = array(

    '子鼠','丑牛','寅虎','卯兔','辰龙','巳蛇',

    '午马','未羊','申猴','酉鸡','戌狗','亥猪'

    );

 

 $my_animal = ($birth_year-1900)%12;

 return $animal[$my_animal];

}[/font]

[!--infotagslink--]

相关文章

  • PHP添加MongoDB扩展实例教程

    由于要使用mikoomi mongodb plugin插件,所以需要php对mongodb的扩展支持,默认通过源安装的php并没有mongodb的扩展支持,具体可以通过php -m|grep mongo 验证 。这里就结...2016-11-25
  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • phpmyadmin config.inc.php配置示例

    phpmyadmin config.inc.php配置示例...2013-09-29
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31
  • PHP扩展开发教程(总结)

    PHP是一种解释型的语言,对于用户而言,我们精心的控制内存意味着easier prototyping和更少的崩溃!当我们深入到内核之后,所有的安全防线都已经被越过,最终还是要依赖于真正有责任心的软件工程师来保证系统的稳定运行。1、线...2015-11-08
  • 浅谈Vue开发人员的7个最好的VSCode扩展

    这篇文章主要介绍了浅谈Vue开发人员的7个最好的VSCode扩展,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
  • 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
  • PHP安装threads多线程扩展基础教程

    一、下载pthreads扩展下载地址:http://windows.php.net/downloads/pecl/releases/pthreads二、判断PHP是ts还是nts版通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说...2015-11-24
  • phpmyadmin不能登录,无任何提示的问题解决

    昨天有一朋友说自己的phpmyadmin不能登录并且无任何提示了,问我怎么解决,下面我来分享一下关于phpmyadmin不能登录问题总结. phpmyadmin不能登录没有提示 解决方法:...2016-11-25
  • Redis集群水平扩展、集群中添加以及删除节点的操作

    这篇文章主要介绍了Redis集群水平扩展、集群中添加以及删除节点的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-25
  • phpMyAdmin 高级功能设置的方法图解

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

    下面我们一起来看看一篇关于phpmyadmin写入一句话木马的测试教程,希望此教程能够对各位有帮助。 方法一,一句话木马偶尔拿到一个config中,发现是root,且还有phpmyadmi...2016-11-25
  • Linux环境 php mcrypt扩展完全安装笔记

    mcrypt 是 php 里面重要的加密支持扩展库,Linux环境下默认是没开启的,在某些功能时,我们需要安装mcrypt扩展才能正常访问,本文就来讲讲如何完全安装这个模块。 如果你...2016-11-25
  • phpmyadmin无法登录提示please check errors given in your PHP

    下面来给各位同学介绍关于phpmyadmin无法登录提示please check errors given in your PHP and/or webserver,希望例子对各位有帮助。 今天帮别人弄网站的时候要...2016-11-25
  • php安装pcntl扩展实现多进程

    pcntl中的php必须要安装pcntl才可以实现多线程了,在网上找到许多的关于pcntl安装教程,下面整理了一篇比较完整的关于php pcntl安装与使用方法。 pcntl中php实现多进...2016-11-25
  • Swift中的限定扩展详析

    扩展就是向一个已有的类、结构体或枚举类型添加新功能。下面这篇文章主要给大家介绍了关于Swift中限定扩展的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...2020-06-30
  • IIS 环境下配置PHP5+MySql+PHPMyAdmin

    虽然主要是做.net开发的,但是,时不时的还要搞一下php,但是,php在windows下的配置,总是走很多弯路,正好前几天又配置了一下,因此总结在这里,做为自己的备忘,也希望给遇到问题的朋友们提供一些帮助。...2016-01-27
  • phpmyadmin无法登陆无响应问题解决办法

    phpmyadmin无法登陆无响应一般是session或cookie设置问题了,下文小编也是因为cookie与 session目录设置问题导致phpmyadmin不能正常登录了。 之前由于修改php.ini...2016-11-25