Estoy trabajando con la API de bitly.
He descargado la API bitlyPHP.
En GitHub especifican los parámetros de la función para acortar la longURL
Cita: 4. Use any of the functions as such:
$results = bitly_v3_shorten('http://knowabout.it', 'j.mp');
Realizo exactamente lo que dice ahí y al ejecutar una prueba me devuelve lo siguiente
Cita: Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /var/www/vhosts/miservidor.com/httpdocs/models/bitly.php on line 1159 array(0) { }
La línea 1159 de la API está en la siguiente función, la marco con un comentario PHP
Código PHP:
Ver original/**
* Make a GET call to the bit.ly API.
*
* @param $uri
* URI to call.
*/
function bitly_get_curl($uri) {
$output = "";
try {
curl_setopt($ch, CURLOPT_FOLLOWLOCATION
, 1); //esta es la línea 1159 } catch (Exception $e) {
}
return $output;
}
La función shorten que llama a esta función es la siguiente
Código PHP:
Ver originalfunction bitly_v3_shorten($longUrl, $domain = '', $x_login = '', $x_apiKey = '') {
$url = bitly_oauth_api
. "shorten?access_token=" . bitlyKey
. "&longUrl=" . urlencode($longUrl); if ($domain != '') {
$url .= "&domain=" . $domain;
}
if ($x_login != '' && $x_apiKey != '') {
$url .= "&x_login=" . $x_login . "&x_apiKey=" . $x_apiKey;
}
$output = json_decode(bitly_get_curl
($url)); //aquí llama a la función donde genera el problema if (isset($output->{'data'}->{'hash'})) { $result['url'] = $output->{'data'}->{'url'};
$result['hash'] = $output->{'data'}->{'hash'};
$result['global_hash'] = $output->{'data'}->{'global_hash'};
$result['long_url'] = $output->{'data'}->{'long_url'};
$result['new_hash'] = $output->{'data'}->{'new_hash'};
}
return $result;
}
¿A qué se puede deber este error? ¿es un problema de configuración del servidor, de configuración en tiempo de ejecución o de pasar unos parámetros erróneos?
La última posibilidad puede ser posible, ya que los parámetros que hay que pasar exactamente no los explica bien bitly ni los autores de las funciones.