0

我有一个简单的 PHP 脚本,它将错误写入错误日志文件,并将部分错误打印到屏幕上。

我首先在 Aptana Studio 内的“沙盒”项目中开发了它(但实际上,它们只是目录),在那里它运行良好。但是,当我将它复制到我的“生产项目”(同样,它实际上只是网络服务器上的另一个目录)时,它不再将消息记录到errorlog.log文件中。所有权限都是相同的,实际上我使脚本可执行(它不在其他目录中),并赋予目录完全权限(chmod 777)。该errorlog.log文件已经作为一个空文件存在并且是可写的,就像它在沙箱中一样。

这是代码:

<?php
/* logerrors.inc.php - Prints a "formatted" error message which will be displayed 
 *    within a handler (i.e. the notification bar) on the front end and writes 
 *    the error to a text log.
 */
 date_default_timezone_set('America/New_York');  // Required to avoid errors.

 define("LOG_LOCATION", "errorlog.log");         // The location of the log file

 function writeError($error_string, $technical_info_string = ""){
    $tech_log_entry = "";                        // We should only log techinical information 
                                                 //    if it's provided
    if($technical_info_string != ""){
        $tech_log_entry = "\n- Technical Info Provided: ". $technical_info_string;
    }

    // Writes a log entry with full details.
    error_log("[ERROR: ".date('Y-m-d H:i:s') . "]\n- Error Displayed: ". $error_string . 
                 $tech_log_entry ."\n\n",
                 3, LOG_LOCATION);

    echo "error: " . $error_string;              // Emits the $error_string as output
    exit();
 }

?>

有趣的是echo,脚本底部的命令运行良好,因此显然不会在error_log函数上出错。它只是行不通。

关于下一步看哪里或其他可能导致这种情况的任何想法?

4

0 回答 0