• 25-04-2014, 23:46:13
    #1
    Curl de CURLOPT_FOLLOWLOCATION parametresini kullanmama gerekiyor. Fakat hostta calişmiyor. Firmaya yazdim 2. gun oldu cozum uretilemedi malesef.
    Soz konusu olayda guvelik vs sıkıntııs olmadan bir resele ve ya hosta yapilmasi gereken nedir tam olarak ?
  • 25-04-2014, 23:49:38
    #2
    Üyeliği durduruldu
    Hosting sağlayıcın senin için safe mode off yapmalı ve open_basedir'i kaldırmalı.

    Shared hostingse ve adam yapmam diyorsa yapmaz. Senin yapabileceğin birşey yok.



    curl_exec_follow şeklinde bir fonksiyon geliştirmişler bu olayı atlatmak için o da şöyle

    Alıntı
    curl_exec_follow($ch, &$maxredirect = null) {

    $user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5)".
    " Gecko/20041107 Firefox/1.0";
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent );

    $mr = $maxredirect === null ? 5 : intval($maxredirect);

    if (ini_get('open_basedir') == '' && ini_get('safe_mode') == 'Off') {

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $mr > 0);
    curl_setopt($ch, CURLOPT_MAXREDIRS, $mr);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    } else {

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

    if ($mr > 0)
    {
    $original_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    $newurl = $original_url;

    $rch = curl_copy_handle($ch);

    curl_setopt($rch, CURLOPT_HEADER, true);
    curl_setopt($rch, CURLOPT_NOBODY, true);
    curl_setopt($rch, CURLOPT_FORBID_REUSE, false);
    do
    {
    curl_setopt($rch, CURLOPT_URL, $newurl);
    $header = curl_exec($rch);
    if (curl_errno($rch)) {
    $code = 0;
    } else {
    $code = curl_getinfo($rch, CURLINFO_HTTP_CODE);
    if ($code == 301 || $code == 302) {
    preg_match('/Location.*?)\n/', $header, $matches);
    $newurl = trim(array_pop($matches));

    // if no scheme is present then the new url is a
    // relative path and thus needs some extra care
    if(!preg_match("/^https?:/i", $newurl)){
    $newurl = $original_url . $newurl;
    }
    } else {
    $code = 0;
    }
    }
    } while ($code && --$mr);

    curl_close($rch);

    if (!$mr)
    {
    if ($maxredirect === null)
    trigger_error('Too many redirects.', E_USER_WARNING);
    else
    $maxredirect = 0;

    return false;
    }
    curl_setopt($ch, CURLOPT_URL, $newurl);
    }
    }
    return curl_exec($ch);
    }
    curl_exec yerine bunu kullanabilirsin ama geçici bir çözümdür


    şuraya da not düşelim :

    açık kaynak kodlu zpanel kullanan arkadaşlar bu sorunu aşmak istiyorlarsa :
    http://batuhan.org/zpanel-open_basedir-problemi-cozumu/
  • 26-04-2014, 00:00:06
    #3
    Curl_exec_follow functionundan haberim var fakat oda gecici dahi olsa sorunumu cozmuyor.
  • 26-04-2014, 00:02:48
    #4
    Bi wp eklentisi nedeni ile mi ilgili hata aldınız?
  • 26-04-2014, 00:03:16
    #5
    Üyeliği durduruldu
    O zaman yapılacak şey hosting firmanıza durumu izah etmeniz, bilmiyorlarsa yapacakları işlemleri tarif etmeniz
  • 26-04-2014, 00:17:31
    #6
    E linux yonetiminde ok adar iyi olsam zati tarifini ederdim
    Soz konusu konuda olayi uygun sekilde anlatabilecek var mi diye acildi.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 00:17:31 -->-> Daha önceki mesaj 00:07:15 --

    humpyers adlı üyeden alıntı: mesajı görüntüle
    Bi wp eklentisi nedeni ile mi ilgili hata aldınız?
    Kendi uygulamada aliyorum hatayi.
  • 28-04-2014, 16:11:10
    #7
    Merhabalar eger her dizine özgü php.ini dosyası çalıştırma izni varsa yada htaccess ile php configuration ayarları girme izni varsa bunları test etmeniz gerekir fonksiyonu aktif kullanabilirsiniz.

    htaccess dosyası oluşturup için

    php_flag open_basedir off

    yazıp deneyin

    yada php.ini olusturup

    open_basedir none

    içine yazıp deneyin belki problemi boyle çözebilirsiniz.
  • 30-04-2014, 13:47:57
    #8
    ekonomikhostr10 adlı üyeden alıntı: mesajı görüntüle
    Merhabalar eger her dizine özgü php.ini dosyası çalıştırma izni varsa yada htaccess ile php configuration ayarları girme izni varsa bunları test etmeniz gerekir fonksiyonu aktif kullanabilirsiniz.

    htaccess dosyası oluşturup için

    php_flag open_basedir off

    yazıp deneyin

    yada php.ini olusturup

    open_basedir none

    içine yazıp deneyin belki problemi boyle çözebilirsiniz.
    Hiç biri yemiyordu vede 2 gunun sonunda alinan cevap paylaşımlı hostlarda bunu acamayiz oldu