ini_set("error_log", $error_path)设置 我现在将这个设置放在程序的开头,但是错误还是没有能够显示在我设置的文件中。比如我在test.php中做好这个设置,test.php中发生错误了,这时的错误还是无法写入到我设置的文件中啊。该如何解决啊,是不是应该放在apache启动的文件中,但是我不知道具体怎么弄。那位给个解决方法啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $error_path的文件有没有写权限? 例如:test.php文件代码如下:<?php$error_path = $_SERVER['DOCUMENT_ROOT'] . "/WebServer/Error". "/" .date("Y-m-d");if (!file_exists($error_path)){ mkdir($error_path, 0777); $error_path = $error_path ."/".date("Y-m-d") ."_error.log"; $handle = fopen($error_path, "w"); ini_set("error_log", $error_path);}else{ $error_path = $error_path ."/".date("Y-m-d") ."_error.log"; ini_set("error_log", $error_path);}echo dd;d:/\?>这里的错误就不会写入我设置的log中 什么意思啊,notice是可以写进去的啊。 <?phperror_reporting(E_ALL); // 输出所有错误$error_path = $_SERVER['DOCUMENT_ROOT'] . "/WebServer/Error". "/" .date("Y-m-d");if (!file_exists($error_path)){ mkdir($error_path, 0777); $error_path = $error_path ."/".date("Y-m-d") ."_error.log"; $handle = fopen($error_path, "w"); // 还有,文件打开后都不关闭的吗? fclose($handle); ini_set("error_log", $error_path);}else{ $error_path = $error_path ."/".date("Y-m-d") ."_error.log"; ini_set("error_log", $error_path);}echo dd;d:/\?> 这样修改后error还是不能写入到我设置的文件中啊 <?phperror_reporting(E_ALL); // 输出所有错误$error_path = $_SERVER['DOCUMENT_ROOT'] . "/WebServer/Error". "/" .date("Y-m-d");if (!file_exists($error_path)){ mkdir($error_path, 0777); $error_path = $error_path ."/".date("Y-m-d") ."_error.log"; $handle = fopen($error_path, "w"); // 还有,文件打开后都不关闭的吗? fclose($handle); chmod($error_path,777); //给文件写权限 ini_set("error_log", $error_path);}else{ $error_path = $error_path ."/".date("Y-m-d") ."_error.log"; ini_set("error_log", $error_path);}echo dd;d:/\?> d:/\这个是语法错误,程序根本不能正确执行。error_log记录的是你程序解析没有问题,但是比如mysql_connect有问题,就会纪录进去了。 如果在php.ini文件中改变error路径的话,这些错误都是可以记录的 这不是废话嘛!你在php.ini中该,error_log已经起效了你在出错的文件中用ini_set,ini_set根本没有执行嘛!!! 我知道啊,我就是想问有没有类似的方法,可以替换.ini的这种设置 本帖最后由 xuzuning 于 2010-08-16 13:31:21 编辑 是的啊,这些都好设置啊,你在php文件中设置好后,在引用到其它文件中,其它文件中有个语法错误什么的,那么这个错误还是无法写入到呢设置的文件中啊。 在程序中设置,只在当前程序中有效在php.ini中设置才是永久的 求个PHP 无限分类 带添加 修改的那种 各位大侠帮我看看我代码的错误 php 批量打开远程url,用什么函数比较好 ?? 100分请教: 熟悉存储过程的朋友帮忙看下 后台线程,Timer这样的实现如何实现?相应的日志文件怎么处理? session共用问题求助,急! 关于保存查询结果的问题 下载了个若雨份飞论坛,但是上传的附件在下载时却把文件内容全部显示在网页上(不管什么类型的文件都一样),求教 登陆问题???——在线等! 基础问题 请教一个刷新问题 mysql查询按指定条件(同一表内字段1=字段2的记录数高底)排序
test.php文件
代码如下:
<?php
$error_path = $_SERVER['DOCUMENT_ROOT'] . "/WebServer/Error". "/" .date("Y-m-d");
if (!file_exists($error_path))
{
mkdir($error_path, 0777);
$error_path = $error_path ."/".date("Y-m-d") ."_error.log";
$handle = fopen($error_path, "w");
ini_set("error_log", $error_path);
}
else
{
$error_path = $error_path ."/".date("Y-m-d") ."_error.log";
ini_set("error_log", $error_path);
}echo dd;
d:/\?>
这里的错误就不会写入我设置的log中
error_reporting(E_ALL); // 输出所有错误
$error_path = $_SERVER['DOCUMENT_ROOT'] . "/WebServer/Error". "/" .date("Y-m-d");
if (!file_exists($error_path))
{
mkdir($error_path, 0777);
$error_path = $error_path ."/".date("Y-m-d") ."_error.log";
$handle = fopen($error_path, "w"); // 还有,文件打开后都不关闭的吗?
fclose($handle);
ini_set("error_log", $error_path);
}
else
{
$error_path = $error_path ."/".date("Y-m-d") ."_error.log";
ini_set("error_log", $error_path);
}echo dd;
d:/\?>
这样修改后error还是不能写入到我设置的文件中啊
error_reporting(E_ALL); // 输出所有错误
$error_path = $_SERVER['DOCUMENT_ROOT'] . "/WebServer/Error". "/" .date("Y-m-d");
if (!file_exists($error_path))
{
mkdir($error_path, 0777);
$error_path = $error_path ."/".date("Y-m-d") ."_error.log";
$handle = fopen($error_path, "w"); // 还有,文件打开后都不关闭的吗?
fclose($handle);
chmod($error_path,777); //给文件写权限
ini_set("error_log", $error_path);
}
else
{
$error_path = $error_path ."/".date("Y-m-d") ."_error.log";
ini_set("error_log", $error_path);
}echo dd;
d:/\?>
error_log记录的是你程序解析没有问题,但是比如mysql_connect有问题,就会纪录进去了。
你在php.ini中该,error_log已经起效了
你在出错的文件中用ini_set,ini_set根本没有执行嘛!!!
在php.ini中设置才是永久的