setcookie содержит в себе одну подлую опцию path. И если её не указать, куки начинают сохраняться через сраку гуся.

[ ]
 

Лечение:

$pest->curl_opts[CURLOPT_SSL_VERIFYHOST] = false;
$pest->curl_opts[CURLOPT_SSL_VERIFYPEER] = true;
[ ]
 
<?
if(isset($_SERVER['QUERY_STRING']) && strpos($_SERVER['QUERY_STRING'],"utm_source=Yandex-Direct") !== false)
{
  echo "This page was visited through Yandex-Direct.";
}
?>
[ ]
 

Потомучто я открывал ссылку из gmail, а gmail неким магическим образом режет реферер. у меня долбоёба установлен AdBlock. И он этот самый HTTP_REFERER нещадно режет.

[ ]
 

sudo apt-get remove phpunit
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade-all
sudo pear install --alldeps phpunit/PHPUnit
sudo pear install --force --alldeps phpunit/PHPUnit
sudo apt-get install php5-curl
sudo pear install --alldeps phpunit/PHPUnit_Selenium
sudo pear install phpunit/PHP_CodeCoverage
sudo pear clear-cache
sudo pear uninstall phpunit/PHPUnit
sudo pear uninstall phpunit/PHPUnit_Selenium
sudo pear uninstall phpunit/PHPUnit
sudo pear install phpunit/PHPUnit
sudo pear install phpunit/PHPUnit_Selenium
phpunit --version
sudo pear uninstall phpunit/PHPUnit_Selenium
sudo pear install phpunit/PHPUnit
sudo pear uninstall phpunit/PHPUnit
wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar /usr/local/bin/phpunit
sudo mv phpunit.phar /usr/local/bin/phpunit
exit
phpunit --version
phpunit --version
phpunit --version
phpunit --version

Sources: first, second, third.

[ ]
 

Нашел функциию в интернете и слегка доработал её под свой стиль.

 0 && $json[$i-1] != "," && $json[$i-1] != "[" && $json[$i-1] != "{")
      {
        $result .= $newLine . $indention;
      }
    }
    // If this character is the end of an element,
    // output a new line and indent the next line
    if ($char == '}' || $char == ']') 
    {
      $indention = str_repeat($indentStr, --$ind);
      $result .= $newLine . $indention;
    }
     
    // Add the character to the result string
    if($char == ":")
    {
      $result .= " $char ";
    }
    else
    {
      $result .= $char;
    }
     
    // If the last character was the beginning of an element,
    // output a new line and indent the next line
    if ($char == ',' || $char == '{' || $char == '[') 
    {
      if ($char == '{' || $char == '[') 
      {
        $indention = str_repeat($indentStr, $ind);
      }
      $result .= $newLine . $indention;
    }

  }
   
  return $result;
}

Печатает примерно такое:

{
    "fileCount" : 2,
    "data" : 
    [
        {
            "id" : "file.1",
            "class" : "file",
            "file" : "example_file.1.html",
            "display" : "example_file.1",
            "extension" : "html",
            "size" : 12345,
            "hasVersions" : true,
            "versions" : 
            {
                "fileCount" : 1,
                "data" : 
                [
                    {
                        "id" : "file.1.1",
                        "class" : "file",
                        "file" : "example_file.1.1.html",
                        "display" : "example_file.1.1",
                        "extension" : "html",
                        "size" : 12345,
                        "hasVersions" : false,
                        "versions" : null
                    }
                ]
            }
        },
        {
            "id" : "file.2",
            "class" : "file",
            "file" : "example_file.2.html",
            "display" : "example_file.2",
            "extension" : "html",
            "size" : 12345,
            "hasVersions" : false,
            "versions" : null
        }
    ]
}

Только больной мудак мог придумать, что по команде

php script.php arg1 arg2 /path/to/files/* arg4

скрипт получит в $argv хуеву тучу аргументов и arg4 будет находиться не в $argv[4], а в $argv[10393]. Это мог придумать только больной мудак. Нет, я бы еще мог понять, если б bash выполнял скрипт построчно. Пофайлово. Я бы еще мог понять. Но вот это - это просто пиздец. Ну отдай, отдайт ты этот ёбаный /path/to/files/* в программу в конце концов, пусть она сама вызовет glob и прочешет директорию как ей надо. Два часа я искал ошибку в своем коде, даже не предполагая что блядь такое ВОЗМОЖНО. Логика? Здравый смысл? Не, не слышали.

thumbnale.php.zip

When handling very large numbers in PHP, you'll notice they get cut off at hexadecimal 7FFFF FFFF.

Oh yeah! I notice, blyad, of course! Klassno pridumali, chuvaki!

Это была последняя капля.
isset — Determine if a variable is set and is not NULL

$foo = array["bar" => NULL];
var_dump(isset($foo["bar"])); // FALSE

Интересно, они жопой думали, когда придумывали функцию isset? IS SET! Элемент массива с ключом bar IS SET и он равняется блядь NULL. А с ключом qwfpqwfp IS NOT SET и он ничему не равнятеся. Неужели это, блядь, настолько неочевидно? Да у меня глаза сейчас вытекли, когда я это увидел. Ёбаный в рот, ебаный в рот, я искал баг, а это, блядь, фича! Мне больше делать нечего как под вечер в цикле проверки элементы массива с NULL пропускать потомучто их как будто бы нету. Ёбаные дибилы. Ебаные дибилы. Ебаные дибилы тратят мое время на тупую хуйню.