Dienstag, 4. Juli 2006

Fatal error: Only variables can be passed by reference

Software die für PHP4 entwickelt wurde, entwickelt unter PHP5 oftmals ein interessantes Eigenleben...

Problem

Als ich heute ein Script getestet habe, welches unter PHP4 entwickelt wurde, kam es zu dieser Fehlermeldung: Fatal error: Only variables can be passed by reference.

Da das Script von einer bekannten Seite war, kam mir das schon ein wenig komisch vor. Die werden doch nicht ein kaputtes Script veröffentlichen. Kaputt deswegen, weil ein Fatal error ausgelößt wird und die Scriptverarbeitung anhält.

Lösung

Also schaute ich mir den Code ein wenig an. Ihr könnt ihn in Listing 1 sehen. Nach kurzer Überlegung entschloss ich mich den Rückgabewert der Methode getRelatedEntries erst in eine Variable zu kopieren. und dann erst der Methode getRelatedEntriesHtml zu übergeben. Das ist auch die Lösung für das Problem Only variables can be passed by reference.

Wenn ihr auch vor dem Gleichen Problem stehen solltet, kopiert einfach, das was ihr übergeben wollt in eine neue Variable und schon gehts. Der geänderte Code steht in Listing 2.



Listing 1

Download Code!

  1.  
  2. // ...Viel PHP Code
  3. $this->getRelatedEntriesHtml($this->getRelatedEntries($tags[$eventData[0]['id']], $eventData[0]['id']));
  4.  
  5.  


Listing 2

Download Code!

  1.  
  2. $xyFoo = $this->getRelatedEntries($tags[$eventData[0]['id']], $eventData[0]['id']);
  3. $this->getRelatedEntriesHtml($xyFoo);
  4.  
Bewertung: keine, 0 Stimme(n) 994 Klicks
Probleme und Lösungen
Von Mr.Foo in Probleme und Lösungen am 04.07.06@15:13 Uhr

Trackbacks
Trackback für spezifische URI dieses Eintrags

Keine Trackbacks

0 Kommentare
Ansicht der Kommentare: (Linear | Verschachtelt)

Noch keine Kommentare


Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden
 
 

Mr. Foo

Fatal error: Only variables can be passed by reference

  • Homepage

Suche

Kategorien

  • Android (2)
  • C-Sharp (4)
  • Datenbank (30)
  • Delphi (2)
  • Entwicklung (36)
  • Flash (5)
  • Games (10)
  • Gutscheine (4)
  • Hardware (14)
  • HTML CSS (16)
  • Internet (88)
  • Java (32)
  • Javascript (24)
  • Linkdump (9)
  • Linux (102)
  • Low-Level (10)
  • Lua (8)
  • Musik (9)
  • Netzwerk (25)
  • New World Order (109)
  • Perl (3)
  • PHP (130)
  • Magento (5)
  • Symfony (3)
  • Zend Framework (7)
  • Probleme und Lösungen (26)
  • Python (22)
  • Ressourcen (23)
  • Sicherheit (91)
  • Software (60)
  • Sonstiges (47)
  • Own Stuff (48)
  • Spass (46)
  • Technik / Wissenschaft (4)
  • Tips (15)
  • Weisheiten (17)
  • Windows (23)
  • Wort des Tages (15)


Alle Kategorien

Archive

  • Mai 2012
  • April 2012
  • März 2012
  • Das Neueste ...
  • Älteres ...

Abonnieren lohnt sich!

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Kommentare

Tagcloud

Datenbank Entwicklung Internet Java Javascript Linux Lösung Netzwerk News New World Order PHP Problem Probleme und Lösungen Sicherheit Software Sonstiges Spass Tipp Update Windows

Beliebte Einträge

  • Magento ist scheisse (197)
  • Plugin-container.exe deaktivieren (107)
  • BWin Betrug und Abzocke bei Minigames? (65)
  • C compiler cannot create executables unter Debian (53)
  • Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert) (43)
  • Sicheres Kontaktformular mit PHP - Spam verhindern (37)
  • UML-Diagramme aus Java-Klassen generieren – Java2UML (28)
  • Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden (28)
  • Option Bug im Internet Explorer bei Nutzung von innerHTML und Javascript (24)
  • Zend Studio - Javaw.exe lastet die CPU aus (24)

Kommentare

Hugo zu BWin Betrug und Abzocke bei Minigames?
So, 20.05.2012 12:25
ich habe mich gestern auf BWIN reg [...]
Ubuntu 12.04 zu The assembly mscorlib.dll was not found or could not be loaded.
Fr, 18.05.2012 17:11
Hat bei mir leider nicht geklappt. [...]
Oliver Riske zu Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden
Di, 15.05.2012 20:38
Super Danke!
anon zu BWin Betrug und Abzocke bei Minigames?
Sa, 05.05.2012 18:43
ihr scheiss betrüger
Jürgen zu Unable to elevate error:1814 VLC Problem
Mi, 02.05.2012 16:54
So einfach ist es bei mir jedenfal [...]
 

Kontakt/Informationen