desertplants Posted December 21, 2019 Share Posted December 21, 2019 Buenas noches: Acabo de instalar una actualización de Paypal y como me pasa últimamente con las actualizaciones, me ha dado error. He utilizado el asistente virtual y me indica... [21-Dec-2019 23:58:47] PHP Parse error: syntax error, unexpected '[' in /home2/desertpl/public_html/modules/paypal/api/sdk/braintree/lib/Braintree.php on line 17 [21-Dec-2019 23:49:52] PHP Parse error: syntax error, unexpected '[' in /home2/desertpl/public_html/modules/paypal/api/sdk/braintree/lib/Braintree.php on line 17 Mi nivel es muy bajo, por no decir nulo, y sinceramente no veo el error de sintaxis en la linea 17. A ver si podéis echarme una mano. Saludos y gracias anticipadas <?php /** * Braintree PHP Library * Creates class_aliases for old class names replaced by PSR-4 Namespaces * * @copyright 2015 Braintree, a division of PayPal, Inc. */ require_once('autoload.php'); if (version_compare(PHP_VERSION, '5.4.0', '<')) { throw new Braintree_Exception('PHP version >= 5.4.0 required'); } function requireDependencies() { $requiredExtensions = ['xmlwriter', 'openssl', 'dom', 'hash', 'curl']; foreach ($requiredExtensions AS $ext) { if (!extension_loaded($ext)) { throw new Braintree_Exception('The Braintree library requires the ' . $ext . ' extension.'); } } } requireDependencies(); Link to comment Share on other sites More sharing options...
Prestafan33 Posted December 22, 2019 Share Posted December 22, 2019 (edited) Cambia esa línea por: Quote $requiredExtensions = array('xmlwriter', 'openssl', 'dom', 'hash', 'curl'); Edited December 22, 2019 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
desertplants Posted December 22, 2019 Author Share Posted December 22, 2019 Buenos días Prestafan33: Muchas gracias por tu respuesta. Acabo de modificar la linea y probar de nuevo con el asistente virtual, y ahora me ha cambiado del error en la linea 17 a la 2. [22-Dec-2019 13:17:48] PHP Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /home2/desertpl/public_html/modules/paypal/api/sdk/braintree/lib/autoload.php on line 2 Pero allí solo hay un par de asteriscos!! <?php /** * Braintree PHP Library * Creates class_aliases for old class names replaced by PSR-4 Namespaces * * @copyright 2015 Braintree, a division of PayPal, Inc. */ require_once('autoload.php'); if (version_compare(PHP_VERSION, '5.4.0', '<')) { throw new Braintree_Exception('PHP version >= 5.4.0 required'); } function requireDependencies() { $requiredExtensions = array('xmlwriter', 'openssl', 'dom', 'hash', 'curl'); foreach ($requiredExtensions AS $ext) { if (!extension_loaded($ext)) { throw new Braintree_Exception('The Braintree library requires the ' . $ext . ' extension.'); } } } requireDependencies(); También he visto que el modulo de Paypal indica que no esta instalado, no se si debo instalarlo de nuevo ( y que me de error otra vez), o se solucionaría arreglando los "errores de sintaxis" Saludos y gracias Link to comment Share on other sites More sharing options...
desertplants Posted December 22, 2019 Author Share Posted December 22, 2019 Me he equivocado 😞 El error es en autoload.php no en Braintree.php. Mil disculpas <?php spl_autoload_register(function ($className) { if (strpos($className, 'Braintree') !== 0) { return; } $fileName = dirname(__DIR__) . '/lib/'; if ($lastNsPos = strripos($className, '\\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $fileName .= str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; } $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; if (is_file($fileName)) { require_once $fileName; } }); Link to comment Share on other sites More sharing options...
desertplants Posted December 22, 2019 Author Share Posted December 22, 2019 Hola de nuevo: Ya está el problema solucionado. Tenia una versión PHP un poco obsoleta y al actualizarla se han solucionado los problemas. Muchas gracias Prestafan33 por la ayuda, y si quieres, podeis dar el tema por solucionado. Saludos y felices fiestas a tod@s Link to comment Share on other sites More sharing options...
Prestafan33 Posted December 22, 2019 Share Posted December 22, 2019 Eso te iba a comentar. Si es un error puntual puede ser problema de un módulo o una librería, pero si tienes multitud de errores de PHP, lo más probable es que tengas una versión inadecuada de PHP activa en el servidor. Lo mejor, si la versión de Prestashop es actual es utilizar la versión 7.2 de PHP. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now