Так проверил через phpinfo()
и безопасный режим на моем сервере отключен, Curl
активирован, и нет никаких причин, по которым он не работает.
Я также убедился Sharrre.php
находится в моем корневом каталоге. Даже включены Curlurl
в файл php. Пробовал как абсолютные, так и относительные ссылки. Кнопка Google со счетчиком показывает, как только он загружен, но не так, как ожидалось, потому что счетчик показывает 0 все время.
Виновным кажется: $json = array('url'=>'','count'=>0);
После нескольких строк другого кода мы получили это:
if(filter_var($_GET['url'], FILTER_VALIDATE_URL)){
if($type == 'googlePlus'){ //source http://www.helmutgranda.com/2011/11/01/get-a-url-google-count-via-php/
$contents = parse('https://clients6.google.com/rpc?key=AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQurl=' . $url . '&count=true');
preg_match( '/window\.__SSR = {c: ([\d]+)/', $contents, $matches );
if(isset($matches[0])){
$json['count'] = (int)str_replace('window.__SSR = {c: ', '', $matches[0]);
}
}
Так что либо код URL Google больше не действителен, либо … ну, возможно, что-то не так с подозреваемым преступником, потому что:
при изменении значения выше 0 $json = array('url'=>'','count'=>15);
Это показывает 15 отсчетов, как вы можете видеть. Я хочу, чтобы он был динамичным, и получал подсчеты, которые у меня уже есть, и обновлял их за клик.
Что можно сделать, чтобы решить эту проблему?
В моем конкретном случае проблема заключалась в присвоении URL-адреса объекту Curl.
Исходный скрипт sharrre.php устанавливает URL-адрес, присваивая его элементу массива объекта curl, но это не работает и приводит к тому, что счетчик Google не получает какую-либо сумму.
Вместо этого URL должен быть назначен функцией curl_setopt ().
Это решило эту проблему в моем случае:
sharrre.php:
//...
$ch = curl_init();
//$options[CURLOPT_URL] = $encUrl; // <<<--- not working! comment this line.
curl_setopt_array($ch, $options);
curl_setopt($ch, CURLOPT_URL, $encUrl ); // <<<--- Yeeaa, working! Add this line.
//...
Надеюсь, это поможет.
Других решений пока нет …