Problemer med Magic Quotes i Joomla 3

Jeg har fået en del henvendelser vedr. fejl med Magic Quotes, dels i forbindelse med installationen af Joomla 3 og problemer med indsættelse af billeder og links (og andre HTML-tags) i artikler, efter jeg skrev en artikel om problemer med Magic Quotes i Joomla 3 på min engelske blog Webmaster-land.com. Derfor tænkte jeg at jeg også lige ville dele løsningen med jer, her på min danske blog.
Det drejer sig altså om to problemer, som begge to skyldes at magic quotes er slået til i PHP-indstillingerne. Det ene problem blokerer for at man kan installere Joomla 3, mens det andre ødelægger HTML-tags hvor der indgår tegnet “.

Hvad er Magic Quotes?

Magic Quotes er en PHP indstilling, som oprindeligt blev indført for at forhindre at nogen skulle skrive skadelig HTML-kode på websider. Den er forældet, og er på vej ud af PHP i den kommende version 6. Grunden til dette, er at man i stedet for at tegnet altid bliver erstattet fra PHP-indstillingerne, kan man blot lave en replace kode under runtime.
Der er altså ingen grund til at Magic Quotes er slået til og man kan derfor ligeså godt slå det fra. Dette er også løsningen til de to problemer, og i denne artikel kan du se hvordan du slår Magic Quotes fra, selvom du ikke selv kan ændre PHP.ini filen (hvor man kan ændre indstillinger for PHP). Det har nogle webhostere nemlig blokeret for.

Problem 1: Kan ikke installere Joomla 3 pga. Magic Quotes

Dette problem opstår når man prøver på at installere Joomla 3. Her får man vist en fejlmeddelelse, at man ikke kan komme videre i installationen før Magic Quotes er slået fra. Dette problem opstår selvfølgelig kun hvis du selv kører en fuld installation af Joomla 3. Det opstår ikke hvis f.eks. der anvendes en 1-click installer, som mange webhostere tilbyder, da de så ikke gennemgår samme installationskode.
Grunden til at Joomla 3 stopper installationen, skyldes at det er et krav til installationen af Joomla 3 at Magic Quotes er slået fra. Dette fremgår også af de tekniske krav for Joomla 3.
Løsningen her, er at oprette en ny PHP.INI fil og placere den i rodmappen for din Joomla installation. Her indsætter du så:
magic_quotes_gpc = Off
extension=pdo.so
extension=pdo_mysql.so
Herefter omdøber du filen HTACCESS.txt til .HTACCESS og indsætter følgende i toppen:
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/myusername/public_html/
<Files php.ini>
order allow,deny
deny from all
</Files>
</IfModule>
Her ændrer du så “myusername” til dit brugernavn. Problemet er bare at det kender man ikke altid ved alle webhostere. I så fald, går du bare til næste løsning, som også er den letteste. I såfald indsætter du nedenstående i .HTACCESS filen i stedet for:
php_flag magic_quotes_gpc 0
Nu burde du kunne installere Joomla 3.

Problem 2: Problemer med HTML-tags i artikler pga. Magic Quotes

Dette problem opstår når man indsætter HTML-tags, både med WYSIWYG-editoren og HTML-editoren, hvori der indgår tegnet “. Det drejer sig både om når man indsætter billeder i artikler og links. Når Magic Quotes er slået til, erstattes tegnet ” med &quot; så HTML-tagget ødelægges og det ser ud som om billedet ikke findes, eller adressen linket går til ikke findes.

Tjek om Magic Quotes er slået til

Hvis det er lykkedes at installere Joomla 3 og du ser dette problem, kan du først tjekke om Magic Quotes er slået fra. Det gør du ved at:

  1. Gå til Joomla Backend
  2. Vælg System
  3. Vælg System information
  4. Vælg fanen PHP-indstillinger
  5. Tjek nu om Magic Quotes står til On eller Off. Står den til On, er det formentlig det der er problemet.

Magic quotes i Joomla 3

Løs problemet med en PHP.INI fil

Du kan nu løse dette problem på to måder: enten kan du ændre eller oprette en PHP.INI fil eller også kan du ændre i .HTACCESS filen. Ofte er ændring af PHP.INI filen ikke en løsning, da webhostere ofte har blokeret for at du kan have din egen PHP.INI fil. Men hvis du har den mulighed, er løsningen enten at ændre i PHP.INI filen eller oprette én og tilføje følgende to linier til filen:
magic_quotes_gpc = Off
session.save_path = “/tmp”
Ofte er det en god ide, både at lægge den i domænets rodmappe og i administratormappen.

Løs problemet med en .HTACCESS fil

Dette er den løsning jeg anbefaler, da den er let, virker altid og virker også selvom webhosteren har blokeret for at du kan have din egen PHP.INI fil. Løsningen går ud på at oprette eller ændre i .HTACCESS filen. Som standard er denne fil ikke slået til og den er navngivet HTACCESS.txt. Hvis du ikke har aktiveret den allerede, kan du altid omdøbe den til .HTACCESS og herefter tilføje nedenstående linjer et tilfældigt sted i filen:
php_flag magic_quotes_gpc 0
Hvis du vil være helt sikker på hvordan du kan gøre det, er her starten af en .HTACCESS fil til en Joomla webside jeg har.
Magic quotes i .HTACCESS filen 
Jeg håber dette løste dine problemer. Har du nogle yderligere spørgsmål, eller kan du ikke få det til at virke, er du velkommen til at skrive en kommentar, så skal jeg prøve at hjælpe.

0 0 votes
Article Rating

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012. Findes på Mastodon på @aphandersen@ansico.dk

You may also like...

Abonner
Giv besked ved
guest

1 Comment
mest stemt på
nyeste ældste
Inline Feedbacks
View all comments
Morten siger:

Hej,
Jeg har virkelig problemer, for jeg er meget lidt inde i det du beskriver her 🙂
Er det muligt, at du måske kan maile mig de to filer du beskriver……for jeg kan desværre ikke komme videre 🙁
Hilsen, Morten

1
0
Would love your thoughts, please comment.x
()
x