apache弹出错误应用程序 httpd.exe,版本 2.2.22.0,错误模块 php5ts.dll提示

 更新时间:2016年11月25日 17:37  点击:1904
比较悲剧的是今天使用了cdn+文件缓存,结果网站出现一些内容不正常了,我折腾了半天没发现问题于时重启了服务器,结果重启之后apache 弹出错误应用程序 httpd.exe,版本 2.2.22.0,错误模块 php5ts.dll提示了,我查看了一下系统日志发现一段长长的代码,如下所示

apache错误提示

事件类型: 信息
事件来源: Application Error
事件种类: (100)
事件 ID: 1004
日期:  2014-6-27
事件:  15:55:13
用户:  N/A
计算机: xxxx
描述:
报告队列中的错误: 错误应用程序 httpd.exe,版本 2.2.22.0,错误模块 php5ts.dll,版本 5.2.17.17,错误地址 0x000acde5。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
数据:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 68 74 74   ure  htt
0018: 70 64 2e 65 78 65 20 32   pd.exe 2
0020: 2e 32 2e 32 32 2e 30 20   .2.22.0
0028: 69 6e 20 70 68 70 35 74   in php5t
0030: 73 2e 64 6c 6c 20 35 2e   s.dll 5.
0038: 32 2e 31 37 2e 31 37 20   2.17.17
0040: 61 74 20 6f 66 66 73 65   at offse
0048: 74 20 30 30 30 61 63 64   t 000acd
0050: 65 35                     e5     

直接百度搜索问题

解决版本有两个:

1.复制php5ts.dll到apaceh的bin目录下或者系统目录下c:/windows/system32后,重启系统。

2.php目录下的libmysql.dll拷贝到到系统目录system32下就好了。

突然出这个问题也担心是中毒了所以对服务器进行了一些限制操作,在php.ini中加上了

disable_functions =  phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen

然后重启apache,问题解决了

在php中碰到中文文件名乱码一般都是初学者了,因为我们一般不会使用中文文名了,因为大家都知道php对中文支持不友好,那么我们要如何解决php中文文件名乱码问题呢?下面一聚教程小编给各位整理了一些方法,下面一起来看看。

原因是编码问题,所以要转码,用户PHP里面的 iconv 函数就可以解决:

iconv(“当前使用的编码如:utf-8″,”要转换的编码如:GB2312″,”文件名”);
实例:

 代码如下 复制代码

$file_name="我的文件.jpg";
$file_name=iconv("utf-8","gb2312",$file_name);   //解决中文乱码问题
echo '$file_name';

例子

 代码如下 复制代码

<?php
//执行创建中文名html文件
file_put_contents(PHPCMS_PATH.'test/'.iconv('UTF-8', 'GBK', '中文名').'.html', 'xxxxxxxxxxx');

?>

另一种解决中文乱码问题在于

 代码如下 复制代码

$sFileName = "sda.php";
$sOriginalFileName = $sFileName;
$sExtension = s str($sFileName, (strrpos($sFileName, '.') + 1));//找到扩展名
$sExtension = strtolower($sExtension);
$sFileName = date("YmdHis").rand(100, 200).".".$sExtension; //这样就是我们的新文件名了,全数字的不会有乱码了哦。

我们还可以使用urlencode来进行编译

如  urlencode('中文');

例子

 代码如下 复制代码

$file = "/tmp/中文名.tar.gz";

$filename = basename($file);

header("Content-type: application/octet-stream");

//处理中文文件名
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
if (preg_match("/MSIE/", $ua)) {
 header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else if (preg_match("/Firefox/", $ua)) {
 header("Content-Disposition: attachment; filename*="utf8''" . $filename . '"');
} else {
 header('Content-Disposition: attachment; filename="' . $filename . '"');
}

header('Content-Disposition: attachment; filename="' . $filename . '"');
header("Content-Length: ". filesize($file));
readfile($file);

注意:我的服务器是windows xp、apache,估计xp字符集是gbk。因为我的php代码保存为utf-8格式的,在给文件名命名时会出现乱码的情况,所以可以用iconv()函数将原本的utf-8格式的文件名转换为gbk格式的。

今天在使用一个正则提取字符串中指定字符串内容时我在使用一个is_array()时出现Array to string conversion错误提示了,下面把这个给大家分享一下吧。

例子

$str = preg_match_all('/(<UL class=\"list\">).*?(<\/UL>)/is', $str,$array);

if(is_array($$arrayList[0]) )
{
}

结果发现

Notice: Array to string conversion in E:\get_data.php on line 45

Notice: Undefined variable: Array in E:\get_data.php on line 45

仔细检查一下发现

is_array($$arrayList[0]多了一个美元了,如果说是RMB就好了

我们修改一下

if(is_array($arrayList[0]) )
{
}

执行就没有问题了哦。

php页面空白我们从几个方法入手,一个是php把错误提醒功能给关闭了,另一个是程序没有返回结果,当然如果是使用了php操作数据库我们可以数据库报错未进行判断处理,下面我们从这三个方法来给大家分析php页面空白不报错解决办法。

1.php程序不报错

windows系统,我们在找到apache安装目录下的php.ini

display_errors = Off 改成 display_errors = On

linux系统 PHP配置文件路径:/uer/local/php/etc/php.ini

display_errors = Off 改成 display_errors = On

还有程序中是不是加有

error_reporting = E_ALL;   /* 最严格的错误报告级别, 开发阶段可开启 */

error_reporting = E_ALL &~ E_NOTICE /* 除了notice以外的错误 */

error_reporting = E_ERROR | E_PARSE | e_CORE_ERROR /* 只考虑致命的运行时错误,新解析错误

如果有我们把它们取消掉

2.php程序执行没有结果返回

例子

function abc()
{
  echo 'http://www.111cn.net';
}

你直接执行页面就是空白页面了,我们需要执行调用函数

echo abc();才会有输出

3.数据库sql错误,但没有给出错误报告提示

例子

$sql ="select * from a where aaaaf=ccc ";
mysql_query( $sql );

这样执行sql有错误但也没有错误提示我们只要在后在加上mysql_error();即可

$sql ="select * from a where aaaaf=ccc ";
mysql_query( $sql ) or die(mysql_error());


友情提示

有些时间我们是页面编码错误也有可能是页面空白哦,不过开启了错误提醒功能还是会显示出来哦。

Undefined index是告诉我们变量未定义或变量申明有点问题才会告诉我们一个并不致命的warning,那么我们要如何来解决这些问题呢?下面一聚教程小编来给各位整理了一些解决warning问题的方法。

1.找到未定义变量进行处理

 代码如下 复制代码

addslashes(htmlspecialchars(isset($_POST[$str])?$_POST[$str]:''));


2.把错误给过滤掉

 代码如下 复制代码

@$page=$_GET["page"];

3.修改php.ini配置文件进行所有错误过滤

 代码如下 复制代码

error_reporting = E_ALL & ~E_NOTICE

或者
ini_set( ‘error_reporting’, E_ALL ^ E_NOTICE );

ini_set( ‘display_errors’, ’0′ );

4.在程序中直接加一个处理

 代码如下 复制代码

if (!$cfg['debug']) {
 error_reporting(0);
 ob_start('ob_gzhandler');
} else {
 error_reporting(E_ALL ^ E_NOTICE);
}

5.在php文件最开始处加如下一句代码

 代码如下 复制代码

error_reporting(0);

总结:

上面所有方法中最好的方法是方法一,这样在对程序性能上是有很好的帮助,如果你页面错误过多直接过滤掉会影响性能的哦,我以前介绍过一篇这样的文章大家可在本地搜索。

[!--infotagslink--]

相关文章

  • C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
  • C#使用Process类调用外部exe程序

    本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
  • 微信小程序 页面传值详解

    这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • uniapp微信小程序:key失效的解决方法

    这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
  • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文

    时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • 微信小程序自定义tabbar组件

    这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
  • 微信小程序 网络请求(GET请求)详解

    这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
  • 微信小程序如何获取图片宽度与高度

    这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
  • 微信小程序二维码生成工具 weapp-qrcode详解

    这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
  • Python爬取微信小程序通用方法代码实例详解

    这篇文章主要介绍了Python爬取微信小程序通用方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-29
  • 微信小程序(应用号)开发新闻客户端实例

    这篇文章主要介绍了微信小程序(应用号)开发新闻客户端实例的相关资料,需要的朋友可以参考下...2016-10-25
  • Mybatis plus中使用in查询出错如何解决

    这篇文章主要介绍了Mybatis plus中使用in查询出错的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-06
  • 微信小程序手势操作之单触摸点与多触摸点

    这篇文章主要介绍了微信小程序手势操作之单触摸点与多触摸点的相关资料,需要的朋友可以参考下...2017-03-13
  • 微信小程序实现canvas分享朋友圈海报

    这篇文章主要为大家详细介绍了微信小程序实现canvas分享朋友圈海报,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-21
  • 手把手教你uniapp和小程序分包(图文)

    本文主要介绍了手把手教你uniapp和小程序分包,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-02
  • 微信小程序 页面跳转传递值几种方法详解

    这篇文章主要介绍了微信小程序 页面跳转传递值几种方法详解的相关资料,需要的朋友可以参考下...2017-01-16
  • 微信小程序实现点击导航条切换页面

    这篇文章主要为大家详细介绍了微信小程序实现点击导航条切换页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-11-19