Autor Zpráva
mates99
Profil *
Ahoj, mám takový problém a nevím si s tím rady. Potřeboval bych u funkce Curl používat nastavení curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);, ale když to tam nastavým php mi vrátí tenhle error:

Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /www/nejaka_domena/php/includes/curl.php on line 20

Safe mód je vypnutý a open_basedir nevim co to je. Na hostingu mi řekli, že tohle neřeší. Znamená to tedy, že mám něco špatně já ? Nemohl by mi s tím prosím někdo poradit, stačí mi odkaz na google, já nevim co mám hledat. O open_basedir jsem něco našel, ale nikde jsem nenašel že by měl někdo stejný problém jako já. Zdá se mi to divný, protože na localhostu mi to jde bez problémů. Díky.
Davex
Profil
Řešení je uvedeno v dokumentaci funkce curl_setopt().
mates99
Profil *
Davex:
Díky, ale jinak se to obejít nedá ? V něčem to přece musí být, když na localhostu mi to jde a na hostingu ne. Já už jsem se to podobně pokoušel řešit, jenže jsem právě narazil na problém že se mi při přesměrování 301,302 vraceli relativní url. Něco jako Location: cz/. Když jsem nad tím přemýšlel tak se mi klidně může v hlavičce vrátit třeba Location: ../../relativni_adresa. Tím se to celé komplikuje a proto jsem chtěl aby mi šlo FOLLOWLOCATION. Pokud se nepletu tak relativní url v tom skriptu pořešené nejsou.
Davex
Profil
Z bezpečnostních důvodů to jde obejít pouze vypnutím safe módu a open_basedir. Je to zavedeno od PHP 4.4.4 a 5.1.5 z důvodu bezpečnostního problému CVE-2006-4483.
mates99
Profil *
Ok, díky. To mi teda nezbývá nic jiného než si to předělat a poprat se s tím převodem relativních url na absolutní.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: