qhe Posted March 13, 2014 Share Posted March 13, 2014 Hola,Tengo un problema que se reproduce en algunas tiendas de la versión 1.5.6.1 (en otras no) y en distintos hostings.Al intentar subir una imagen con cURL me da el error siguiente:El código es el mismo para ambos: define("PS_SHOP_PATH", 'http://midominio.com/'); define("PS_WS_AUTH_KEY", 'XXXXXXXXXXX' ); $img= _PS_TMP_IMG_DIR_ .$mifoto ; $curl = curl_init(); curl_setopt($curl,CURLOPT_HEADER, true); curl_setopt($curl,CURLOPT_RETURNTRANSFER, true); curl_setopt($curl,CURLINFO_HEADER_OUT, true); curl_setopt($curl, CURLOPT_URL, PS_SHOP_PATH . '/api/images/products/' . $id_produc ); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_HTTPAUTH, 'CURLAUTH_BASIC'); curl_setopt($curl, CURLOPT_USERPWD, PS_WS_AUTH_KEY ); curl_setopt($curl, CURLOPT_POSTFIELDS, array('image' => '@'.$img) ); if( ! $result = curl_exec($curl)) { echo $crlf .'Error : '.$idproduc.' '.$img.' -> '.curl_error($curl). $crlf; } else { echo $result. '<br>. Image added: ' . $nomfoto . $crlf ; } curl_close($curl); Al ejecutar curl_exec($curl) no devuelve falso, pero no hace nada (no añade la imagen a ps_images ni genera las miniaturas) y devuelve:HTTP/1.1 100 Continue HTTP/1.1 401 Unauthorized Server: nginxDate: Thu, 13 Mar 2014 04:36:43 GMTContent-Type: text/html; charset=utf-8 Content-Length: 0Connection: keep-aliveWWW-Authenticate: Basic realm="Welcome to PrestaShop Webservice, please enter the authentication key as the login. No password required."Set-Cookie: d016c4f59c9c5afccdfacac7a5eaeabb=scp0ebxtPV2JO61O5kxfRnWYQSZx5ofvZ8EW2DJxg5lu%2FTf%2BTZmjJFe0sJR1QFz8SWdkd2Z1XhBYqCwZeRFMQoo9YQa3CxqL0AjjwnoyhR8%3D000079; expires=Wed, 02-Apr-2014 04:36:43 GMT; path=/; domain=midominio.com; httponly Vary: Host,Accept-Encoding X-Powered-By: PleskLinEn otra tienda devuelve:HTTP/1.1 100 Continue HTTP/1.1 401 UnauthorizedDate: Tue, 11 Mar 2014 12:55:30 GMTServer: Apache Vary: Host,Accept-EncodingWWW-Authenticate: Basic realm="Welcome to PrestaShop Webservice, please enter the authentication key as the login. No password required." Set-Cookie: d016c4f59c9c5afccdfacac7a5eaeabb=I73CVkroiGPA%2F4UX%2F7335CgufWsoycErS8CFegXSq9B7FhBGJGfqHFWnxgy62pbwp26MTZJvGpBqJFjTCTpMAk%2FBf4ZTzpcehEuU1HP5%2Fm0%3D000079; expires=Mon, 31-Mar-2014 12:55:30 GMT; path=/tienda/; domain=midominio.es; httponly Content-Length: 0 Content-Type: text/html; charset=utf-8 ¿Alguien sabe a que puede ser debido o que estoy haciendo mal?Muchas gracias de antemano. Saludos.Quim Link to comment Share on other sites More sharing options...
qhe Posted March 24, 2014 Author Share Posted March 24, 2014 (edited) Hola de nuevo, Investigando el error , parece que sólo se da en servidores con php 5.4.4 Me da el mismo error con distintas versiones de prestashop (1.4.10.0, 1.5.6.1 y 1.6.0.5) en php 5.4.4. Sin embargo,en las mismas tiendas en php 5.2 funciona bien ¿Sabeis si hay algun problema con el webservice de prestashop y php 5.4.4 ? Saludos, Edited March 24, 2014 by qhe (see edit history) Link to comment Share on other sites More sharing options...
javinievas Posted September 30, 2014 Share Posted September 30, 2014 Hola de nuevo, Investigando el error , parece que sólo se da en servidores con php 5.4.4 Me da el mismo error con distintas versiones de prestashop (1.4.10.0, 1.5.6.1 y 1.6.0.5) en php 5.4.4. Sin embargo,en las mismas tiendas en php 5.2 funciona bien ¿Sabeis si hay algun problema con el webservice de prestashop y php 5.4.4 ? Saludos, ¿Alguna novedad sobre esto? A mi tampoco me funciona con PHP 5.5 Link to comment Share on other sites More sharing options...
qhe Posted October 30, 2014 Author Share Posted October 30, 2014 Hola, El problema estaba en la comillas de CURLAUTH_BASIC: curl_setopt($curl, CURLOPT_HTTPAUTH, 'CURLAUTH_BASIC'); En php 5.4 es una constante: curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); Quitando las comillas ya funciona. Saludos, 1 Link to comment Share on other sites More sharing options...
Recommended Posts