如何更深入地了解我的脚本出了什么问题?

时间:2011-01-05 02:06:08

标签: php

我有这段代码:

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
include "../../../wp-load.php";

$groups = array();

if (($handle = fopen("groupData.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $group = array('group_id'    => 'SOME ID',
                'creator_id'  => '1',
                'name'        => $data[0], 
                'description' => $data[1], 
                'slug' => groups_check_slug(sanitize_title(esc_attr($data[2]))), 
                'date_created' => gmdate( "Y-m-d H:i:s" ), 
                'status' => 'public', 
                'enable_forum' => '1'
 );
        $groups[] = $group;
    }   
    fclose($handle);
}

foreach ($groups as $group) {
    groups_create_group($group);
} 

?>

当我在浏览器中打开脚本时,一切似乎都很好,我得到一个空白屏幕,error_log为空。但它没有做它写的东西。你有什么建议我如何更好地了解出了什么问题?

该脚本的目的是从.csv文件在BuddyPress中创建组。

2 个答案:

答案 0 :(得分:1)

这叫做调试:

$handle = fopen("groupData.csv", "r");
if (!$handle) {
    trigger_error('Error establishing handle');
} else {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

        var_dump($data);

        $group = array(
                'group_id'    => 'SOME ID',
                'creator_id'  => '1',
                'name'        => $data[0], 
                'description' => $data[1], 
                'slug' => groups_check_slug(sanitize_title(esc_attr($data[2]))), 
                'date_created' => gmdate( "Y-m-d H:i:s" ), 
                'status' => 'public', 
                'enable_forum' => '1'
        );

        var_dump($group);

        $groups[] = $group;
    }

    fclose($handle);

    var_dump($groups);

}

答案 1 :(得分:1)

首先,尝试输出您正在使用的一些数据,以确保脚本实际执行,例如:

print_r($groups);

如果您仍然出现空白屏幕,则可能是White Page of Death - 也就是说,您的脚本在没有任何消息的情况下无声地失败。试试这些:

1 - 在任何开始标记之前删除空格。

2 - 完全删除结束标记(嵌入式PHP标记除外,与输出混合)。