Avatar billede syswatch Novice
16. august 2013 - 10:28 Der er 4 kommentarer og
1 løsning

Strict Standards: Resource ID#13 used as offset, casting to integer (13)

Hejsa,
Jeg har haft et fint fungerende PHP script kørende, men efter en server opdatering hos min udbyder får jeg pludselig denne fejl, og jeg aner ikke hvad det betyder og syntes ikke jeg kan finde noget på nettet som forklare det ordentligt.
Nogen der kan hjælpe ??

Fejlen: Strict Standards: Resource ID#13 used as offset, casting to integer (13)

Den brokker sig over linie 507 hvilket drejer sig om denne linie: $parser_file[$xml_parser] = $file;

Og det er i denne funktion:

function new_xml_parser($file) {
        global $xls_wrap;
        global $parser_file;
        $xml_parser = xml_parser_create();
        xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
        xml_set_element_handler($xml_parser, "startElement", "endElement");
        xml_set_character_data_handler($xml_parser, "characterData");
        xml_set_processing_instruction_handler($xml_parser, "PIHandler");
        xml_set_unparsed_entity_decl_handler($xml_parser, "test_ent");
        xml_set_default_handler($xml_parser, "defaultHandler");
        xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");
        if ($file == "") { return false; }
        if (!is_array($parser_file)) { settype($parser_file, "array"); }
        $parser_file[$xml_parser] = $file;
        return $xml_parser;
Avatar billede repox Seniormester
16. august 2013 - 10:56 #1
Det er ikke en fejl - det er en notifikation om at du bruger kode som er så forældet at selv PHP ikke kan holde ud at se på det.

Er det et tredieparts bibliotek du arbejder med?
Avatar billede syswatch Novice
16. august 2013 - 11:04 #2
Hej repox,
Ja, det er et system der hedder XLS Generator, og efter min hosting udbyder opdaterede deres server har det ikke virket.

Og jeg vil meget gerne ha det op at køre igen.... Har du en ide til hvad der skal rettes ?
Avatar billede repox Seniormester
16. august 2013 - 11:32 #3
Jeg kender ikke XLS Generator, men mit umiddelbare første bud ville være at du undersøgte om der er kommet en opdatering til softwaren.

Er det ikke tilfældet, skal du nok finde et nyt bibliotek og skrive din eksisterende kode om, så den kan virke med det du bruger nu.
Avatar billede erikjacobsen Ekspert
16. august 2013 - 12:50 #4
Du skal da være superglad for at din udbyder endelig opgraderer deres PHP til noget rimeligt fornuftigt. Du får nu advarsler får fejl, der før bare blev tilpasset efter forholdene.

Man kan selvfølgelig ikke bruge et Resource ID til at indexere et array. Det har man aldrig kunnet, og det er griset programmering, og usikkert om det overhovedet vil virke i fremtiden.

Logikken bør laves om, men måske kan du her og nu få beskeden væk ved selv at lave et cast:

    $parser_file[(int)$xml_parser] = $file;
Avatar billede syswatch Novice
05. marts 2014 - 21:29 #5
Jeg fandt en løsning på problemet, og det viste sig at koden skulle opdateres en hel del fra producenten/programmørens side, og jeg har nu fået en ny version som igen fungere...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester