---
title: "läsa fil via https"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/153435-läsa-fil-via-https"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "haagel"
published: "2006-11-06T14:23:37.000Z"
updated: "2006-11-10T07:22:17.000Z"
replies: 15
views: 626
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/153435-läsa-fil-via-https"
---

# läsa fil via https

## #1 — haagel, 2006-11-06T14:23Z

Jag har problem med att läsa en fil via https. Jag använder fopen() för att öppna filen, som alltså ligger på en annan server.

Skriptet fungerar. Jag har testat det hos one (före detta b-one) och då fungerar det som jag vill. Men när jag kör det på min egen server så får jag följande felmeddelande:

fopen() \[function.fopen\]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

Jag antar att det är någon inställning eller liknande i min PHP-installation som spökar (eftersom det fungerar på en annan server). Jag kör med EasyPHP med PHP version 4.3.10. Jag har även testat att uppgradera till PHP 5.2.0, men samma problem kvarstår.

Någon som vet vad problemet kan bero på?

Permalänk: https://www.webforum.nu/p/153435

## #2 — The_Hulk, 2006-11-06T14:28Z

kör du php i safe mode?

Man måste även tillåta att php läser url-filer via fopen

> If PHP has decided that filename specifies a registered protocol, and that protocol is registered as a network URL, PHP will check to make sure that allow_url_fopen is enabled. If it is switched off, PHP will emit a warning and the fopen call will fail.

du kan även läsa mer här <http://se2.php.net/manual/sv/function.fopen.php>

Permalänk: https://www.webforum.nu/p/1893360

## #3 — haagel, 2006-11-06T14:55Z

Har testat med både 

sql.safe_mode = On

och 

allow_url_fopen = On

men det fungerar ändå inte...   :( 

Sidan du hänvisar till har jag läst igenom, men den hjälpte mig inte. Skulle kunna vara att det är något jag inte riktigt förstår. Fler tips mottages tacksamt!!

Permalänk: https://www.webforum.nu/p/1893365

## #4 — tydal, 2006-11-06T15:08Z

Felmeddelandet säger att du saknar stöd för https. Prova att aktivera curl:
<http://se.php.net/curl>

Permalänk: https://www.webforum.nu/p/1893370

## #5 — The_Hulk, 2006-11-06T15:30Z

mer läsning från sökning hos google

de hänvisar till att man ska aktivera openSSL bland extensions i sin php.ini

<http://www.thescripts.com/forum/thread473628.html>

http://www.issociate.de/board/post/60948/Q_on_fopen\_(URL\_).html

<http://www.codecomments.com/archive221-2004-5-195553.html>

Permalänk: https://www.webforum.nu/p/1893376

## #6 — haagel, 2006-11-06T16:04Z

Har aktiverat php_openssl.dll, fungerar ändå inte...

Får ta en titt på curl...

tydal, du säger att jag ska aktivera curl. Innebär detta att det redan finns installerat och att det bara är att aktivera det? Eller måste jag installera nått?

Permalänk: https://www.webforum.nu/p/1893388

## #7 — wally_91, 2006-11-06T16:33Z

> **haagel skrev:**
>
> tydal, du säger att jag ska aktivera curl. Innebär detta att det redan finns installerat och att det bara är att aktivera det? Eller måste jag installera nått?

Krav
In order to use the CURL functions you need to install the [CURL](http://curl.haxx.se/) package. PHP requires that you use CURL 7.0.2-beta or higher. In PHP 4.2.3, you will need CURL version 7.9.0 or higher. From PHP 4.3.0, you will need a CURL version that's 7.9.8 or higher. PHP 5.0.0 requires a CURL version 7.10.5 or greater. 

<http://se.php.net/curl>

Permalänk: https://www.webforum.nu/p/1893399

## #8 — The_Hulk, 2006-11-06T16:59Z

curl ligger som en extension hos mig. kolla bland dina andra extensions och se om den finns där.

kolla även så filerna finns i din extensions-katalog. inte alla versioner som har med extensions-dll:erna

Permalänk: https://www.webforum.nu/p/1893411

## #9 — haagel, 2006-11-07T08:48Z

Hur gör jag för att aktivera curl? Jag har php_curl.dll i min extensions-mapp och jag har aktiverat "extension=php_curl.dll"  (tagit bort ';'). Vad mer måste jag göra?

Hittar detta på <http://se.php.net/curl:>

> Note to Win32 Users:  In order to enable this module on a Windows environment, libeay32.dll and ssleay32.dll  must be present in your PATH.

 

Dessa filer hittar jag i min php-mapp, men vad menas med att de ska finnas i min "PATH"?

En annan sak... Det borde väl gå att lösa detta utan curl? Som jag nämnde i mitt första inlägg så fungerar ju mitt skript (som inte använder curl) utmärkt på one:s servrar. Vad kan de ha gjort med sin installation för att det ska fungera?

Permalänk: https://www.webforum.nu/p/1893619

## #10 — The_Hulk, 2006-11-07T12:21Z

har du testat att söka på google på det felmeddelande du får?
testa att kolla på <https://www.php.net> på de funktioner du använder ex: fopen - <http://se2.php.net/manual/en/function.fopen.php>

tittade inte så mycket på sökresultaten på google, de flesta hade med OpenSSL att göra men det verkade inte fungera i ditt fall.

Permalänk: https://www.webforum.nu/p/1893686

## #11 — haagel, 2006-11-07T13:02Z

Jo, jag har sökt både på google och på php.net, men inte hittat något som fungerar. Eller ja, det fungerar på vissa servrar, men inte på den som jag kommer att använda (vilken är en standardinstallation av EasyPHP).

Men åter igen...det här med PATH, vad är det? Som det står skrivet på php.net så verkar det vara något självklart som alla vet vad det är. Utom jag då...  :l

Permalänk: https://www.webforum.nu/p/1893707

## #12 — colione, 2006-11-07T13:11Z

Pathen hittar du om du högerklickar på den här datorn -\> egenskaper -\> avancerat -\> miljövariabler

Permalänk: https://www.webforum.nu/p/1893711

## #13 — haagel, 2006-11-07T15:30Z

Ok. Ska jag skriva in sökvägen till dll:erna där eller?

Permalänk: https://www.webforum.nu/p/1893770

## #14 — colione, 2006-11-07T17:18Z

prova. ;) först utan namnet

Permalänk: https://www.webforum.nu/p/1893794

## #15 — haagel, 2006-11-09T21:31Z

Ok, det löste sig till slut. Jag kör nu med CURL. Det var redan installerat så jag behövde bara aktivera det. Jag krånglade en hel del och testade alla möjliga sätt för att aktivera, men det fungerade inte. Jag skrev i PATH, jag kopierade dll:er hit och dit, "kommenterade fram" extensionsraden, men inget hände. Till sist hittade jag lösningen:

Eftersom jag använder [EasyPHP](http://www.easyphp.org/) så kunde man tydligen inte aktivera extensions på samma sätt som vanligt (jag fick iaf inte till det). Däremot var det ÄNNU enklare, när man visste hur man gjorde. Man behöver bara ha EasyPHP-fönstret uppe, trycka på "E" och välja "Konfiguration \> PHP Extension". Man får då uppe en lista med kryssrutor där man kan bocka för de extensions man vill aktivera. Jag bockade för "php_curl", tryckte på "ändra" och startade om Apache (via EasyPHP-fönstret). Så svårt var det   :p 

Här är skriptet jag körde för att köra hämta data via https:

```php
$url = "https://www.exempel.se";
$ch = curl_init();    	// Initialisera CURL

//Sätt options...            
curl_setopt($ch, CURLOPT_URL, $url); 		// Bestäm URL:en.
curl_setopt($ch, CURLOPT_FAILONERROR, 1);		// "Fail silently if the HTTP code returned is equal to or larger than 400".
curl_setopt($ch, CURLOPT_HTTPGET, 1);             	// Använd GET som metod.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 	// Gör så att curl_exec returnerar resultatet.
curl_setopt($ch, CURLOPT_TIMEOUT, 4); 		// Timeout efter 4s.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    // Gör så att det fungerar med https.

$result = curl_exec($ch);	// Kör http--request och lagra svaret.
curl_close($ch);		// Stäng.
```

Kanske kan det hjälpa nån annan nån gång...

Hur som helst, tack för hjälpen alla!   :)

Permalänk: https://www.webforum.nu/p/1894443

## #16 — The_Hulk, 2006-11-10T07:22Z

testade du att bocka för OpenSSL samtidigt?

Permalänk: https://www.webforum.nu/p/1894528

---

Tråden på webben: https://www.webforum.nu/amne/php/153435-läsa-fil-via-https
