cinocuke Posted October 27, 2014 Share Posted October 27, 2014 Pagina web : http://kertienda.com/ En Panel admin me salía un fallo que al editar archivos y demás salia en blanco esta en el otro post la información entonces un buen usuario gracias por cierto, me contesto diciendome que activara una cosa la active y ara hasta el inicio me tira este fallo ¿Alguien me puede dar solucion? Porfavor.. El fallo que salta Warning: tempnam(): open_basedir restriction in effect. File(/customers/4/d/e/kertienda.com/httpd.wwwcache) is not within the allowed path(s): (/customers/4/d/e/kertienda.com/httpd.www:/customers/4/d/e/kertienda.com/httpd.private:/customers/4/d/e/kertienda.com/tmp:/customers/kertienda.com/kertienda.com:/var/www/diagnostics:/usr/share/php) in /customers/4/d/e/kertienda.com/httpd.www/classes/PrestaShopAutoload.php on line 151 Warning: Cannot modify header information - headers already sent by (output started at /customers/4/d/e/kertienda.com/httpd.www/classes/PrestaShopAutoload.php:151) in /customers/4/d/e/kertienda.com/httpd.www/classes/controller/FrontController.php on line 654 Warning: Cannot modify header information - headers already sent by (output started at /customers/4/d/e/kertienda.com/httpd.www/classes/PrestaShopAutoload.php:151) in /customers/4/d/e/kertienda.com/httpd.www/classes/controller/FrontController.php on line 655 Warning: Cannot modify header information - headers already sent by (output started at /customers/4/d/e/kertienda.com/httpd.www/classes/PrestaShopAutoload.php:151) in /customers/4/d/e/kertienda.com/httpd.www/classes/Tools.php on line 132 Link to comment Share on other sites More sharing options...
tuk66 Posted October 27, 2014 Share Posted October 27, 2014 Puede ayudar: http://www.prestashop.com/forums/topic/368673-white-screen-on-both-front-and-back-office-after-installation-of-1609/ http://forge.prestashop.com/browse/PSCSX-3472 Link to comment Share on other sites More sharing options...
cinocuke Posted October 27, 2014 Author Share Posted October 27, 2014 Puede ayudar: http://www.prestashop.com/forums/topic/368673-white-screen-on-both-front-and-back-office-after-installation-of-1609/ http://forge.prestashop.com/browse/PSCSX-3472 Grácias amigo, pero no hay ninguna solucion solo dice el fallo que tiene pero como soluciono el fallo que texto edito o suprimo? Saludos.. Link to comment Share on other sites More sharing options...
rafaelamargo Posted October 27, 2014 Share Posted October 27, 2014 Grácias amigo, pero no hay ninguna solucion solo dice el fallo que tiene pero como soluciono el fallo que texto edito o suprimo? Saludos.. En el segundo enlace, tienes un enlace aquí: https://github.com/PrestaShop/PrestaShop/commit/8288a6fffa0eb7a42b280298f798ff9292dd7be3 para intentar aplicar un parche en el fichero: /classes/PrestaShopAutoload.php (+ agregar linea, - eliminar linea) Link to comment Share on other sites More sharing options...
cinocuke Posted October 27, 2014 Author Share Posted October 27, 2014 En el segundo enlace, tienes un enlace aquí: https://github.com/PrestaShop/PrestaShop/commit/8288a6fffa0eb7a42b280298f798ff9292dd7be3 para intentar aplicar un parche en el fichero: /classes/PrestaShopAutoload.php (+ agregar linea, - eliminar linea) No entiendo, podría pasarle mi archivo de prestashop y me lo edita y me lo manda porfavor Porque no tengo ni idea Gracias, por atenderme y ayudarme. Link to comment Share on other sites More sharing options...
rafaelamargo Posted October 27, 2014 Share Posted October 27, 2014 No entiendo, podría pasarle mi archivo de prestashop y me lo edita y me lo manda porfavor Porque no tengo ni idea Gracias, por atenderme y ayudarme. Dejalo asi: <?php /* * 2007-2014 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2014 PrestaShop SA * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /** * @since 1.5 */ class PrestaShopAutoload { /** * File where classes index is stored */ const INDEX_FILE = 'cache/class_index.php'; /** * @var Autoload */ protected static $instance; /** * @var string Root directory */ protected $root_dir; /** * @var array array('classname' => 'path/to/override', 'classnamecore' => 'path/to/class/core') */ public $index = array(); public $_include_override_path = true; protected static $class_aliases = array( 'Collection' => 'PrestaShopCollection', 'Autoload' => 'PrestaShopAutoload', 'Backup' => 'PrestaShopBackup', 'Logger' => 'PrestaShopLogger' ); protected function __construct() { $this->root_dir = _PS_CORE_DIR_.'/'; $file = $this->normalizeDirectory(_PS_ROOT_DIR_).PrestaShopAutoload::INDEX_FILE; if (@filemtime($file) && is_readable($file)) $this->index = include($file); else $this->generateIndex(); } /** * Get instance of autoload (singleton) * * @return Autoload */ public static function getInstance() { if (!PrestaShopAutoload::$instance) PrestaShopAutoload::$instance = new PrestaShopAutoload(); return PrestaShopAutoload::$instance; } /** * Retrieve informations about a class in classes index and load it * * @param string $classname */ public function load($classname) { // Retrocompatibility if (isset(PrestaShopAutoload::$class_aliases[$classname]) && !interface_exists($classname, false) && !class_exists($classname, false)) return eval('class '.$classname.' extends '.PrestaShopAutoload::$class_aliases[$classname].' {}'); // regenerate the class index if the requested file doesn't exists if ((isset($this->index[$classname]) && $this->index[$classname]['path'] && !is_file($this->root_dir.$this->index[$classname]['path'])) || (isset($this->index[$classname.'Core']) && $this->index[$classname.'Core']['path'] && !is_file($this->root_dir.$this->index[$classname.'Core']['path']))) $this->generateIndex(); // If $classname has not core suffix (E.g. Shop, Product) if (substr($classname, -4) != 'Core') { $class_dir = (isset($this->index[$classname]['override']) && $this->index[$classname]['override'] === true) ? $this->normalizeDirectory(_PS_ROOT_DIR_) : $this->root_dir; // If requested class does not exist, load associated core class if (isset($this->index[$classname]) && !$this->index[$classname]['path']) { require_once($class_dir.$this->index[$classname.'Core']['path']); if ($this->index[$classname.'Core']['type'] != 'interface') eval($this->index[$classname.'Core']['type'].' '.$classname.' extends '.$classname.'Core {}'); } else { // request a non Core Class load the associated Core class if exists if (isset($this->index[$classname.'Core'])) require_once($this->root_dir.$this->index[$classname.'Core']['path']); if (isset($this->index[$classname])) require_once($class_dir.$this->index[$classname]['path']); } } // Call directly ProductCore, ShopCore class elseif (isset($this->index[$classname]['path']) && $this->index[$classname]['path']) require_once($this->root_dir.$this->index[$classname]['path']); } /** * Generate classes index */ public function generateIndex() { $classes = array_merge( $this->getClassesFromDir('classes/'), $this->getClassesFromDir('controllers/') ); if ($this->_include_override_path) $classes = array_merge( $classes, $this->getClassesFromDir('override/classes/', defined('_PS_HOST_MODE_')), $this->getClassesFromDir('override/controllers/', defined('_PS_HOST_MODE_')) ); ksort($classes); $content = '<?php return '.var_export($classes, true).'; ?>'; // Write classes index on disc to cache it $filename = $this->normalizeDirectory(_PS_ROOT_DIR_).PrestaShopAutoload::INDEX_FILE; $filename_tmp = tempnam(dirname($filename), basename($filename.'.')); if ($filename_tmp !== false && file_put_contents($filename_tmp, $content) !== false) { if (!@rename($filename_tmp, $filename)) unlink($filename_tmp); else @chmod($filename, 0666); } // $filename_tmp couldn't be written. $filename should be there anyway (even if outdated), no need to die. else error_log('Cannot write temporary file '.$filename_tmp); $this->index = $classes; } /** * Retrieve recursively all classes in a directory and its subdirectories * * @param string $path Relativ path from root to the directory * @return array */ protected function getClassesFromDir($path, $host_mode = false) { $classes = array(); $root_dir = $host_mode ? $this->normalizeDirectory(_PS_ROOT_DIR_) : $this->root_dir; foreach (scandir($root_dir.$path) as $file) { if ($file[0] != '.') { if (is_dir($root_dir.$path.$file)) $classes = array_merge($classes, $this->getClassesFromDir($path.$file.'/', $host_mode)); else if (substr($file, -4) == '.php') { $content = file_get_contents($root_dir.$path.$file); $pattern = '#\W((abstract\s+)?class|interface)\s+(?P<classname>'.basename($file, '.php').'(?:Core)?)' .'(?:\s+extends\s+[a-z][a-z0-9_]*)?(?:\s+implements\s+[a-z][a-z0-9_]*(?:\s*,\s*[a-z][a-z0-9_]*)*)?\s*\{#i'; if (preg_match($pattern, $content, $m)) { $classes[$m['classname']] = array( 'path' => $path.$file, 'type' => trim($m[1]), 'override' => $host_mode ); if (substr($m['classname'], -4) == 'Core') $classes[substr($m['classname'], 0, -4)] = array( 'path' => '', 'type' => $classes[$m['classname']]['type'], 'override' => $host_mode ); } } } } return $classes; } public function getClassPath($classname) { return (isset($this->index[$classname]) && isset($this->index[$classname]['path'])) ? $this->index[$classname]['path'] : null; } private function normalizeDirectory($directory) { $last = $directory[strlen($directory) - 1]; if (in_array($last, array('/', '\\'))) { $directory[strlen($directory) - 1] = DIRECTORY_SEPARATOR; return $directory; } $directory .= DIRECTORY_SEPARATOR; return $directory; } } Link to comment Share on other sites More sharing options...
cinocuke Posted October 27, 2014 Author Share Posted October 27, 2014 Dejalo asi: <?php /* * 2007-2014 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2014 PrestaShop SA * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /** * @since 1.5 */ class PrestaShopAutoload { /** * File where classes index is stored */ const INDEX_FILE = 'cache/class_index.php'; /** * @var Autoload */ protected static $instance; /** * @var string Root directory */ protected $root_dir; /** * @var array array('classname' => 'path/to/override', 'classnamecore' => 'path/to/class/core') */ public $index = array(); public $_include_override_path = true; protected static $class_aliases = array( 'Collection' => 'PrestaShopCollection', 'Autoload' => 'PrestaShopAutoload', 'Backup' => 'PrestaShopBackup', 'Logger' => 'PrestaShopLogger' ); protected function __construct() { $this->root_dir = _PS_CORE_DIR_.'/'; $file = $this->normalizeDirectory(_PS_ROOT_DIR_).PrestaShopAutoload::INDEX_FILE; if (@filemtime($file) && is_readable($file)) $this->index = include($file); else $this->generateIndex(); } /** * Get instance of autoload (singleton) * * @return Autoload */ public static function getInstance() { if (!PrestaShopAutoload::$instance) PrestaShopAutoload::$instance = new PrestaShopAutoload(); return PrestaShopAutoload::$instance; } /** * Retrieve informations about a class in classes index and load it * * @param string $classname */ public function load($classname) { // Retrocompatibility if (isset(PrestaShopAutoload::$class_aliases[$classname]) && !interface_exists($classname, false) && !class_exists($classname, false)) return eval('class '.$classname.' extends '.PrestaShopAutoload::$class_aliases[$classname].' {}'); // regenerate the class index if the requested file doesn't exists if ((isset($this->index[$classname]) && $this->index[$classname]['path'] && !is_file($this->root_dir.$this->index[$classname]['path'])) || (isset($this->index[$classname.'Core']) && $this->index[$classname.'Core']['path'] && !is_file($this->root_dir.$this->index[$classname.'Core']['path']))) $this->generateIndex(); // If $classname has not core suffix (E.g. Shop, Product) if (substr($classname, -4) != 'Core') { $class_dir = (isset($this->index[$classname]['override']) && $this->index[$classname]['override'] === true) ? $this->normalizeDirectory(_PS_ROOT_DIR_) : $this->root_dir; // If requested class does not exist, load associated core class if (isset($this->index[$classname]) && !$this->index[$classname]['path']) { require_once($class_dir.$this->index[$classname.'Core']['path']); if ($this->index[$classname.'Core']['type'] != 'interface') eval($this->index[$classname.'Core']['type'].' '.$classname.' extends '.$classname.'Core {}'); } else { // request a non Core Class load the associated Core class if exists if (isset($this->index[$classname.'Core'])) require_once($this->root_dir.$this->index[$classname.'Core']['path']); if (isset($this->index[$classname])) require_once($class_dir.$this->index[$classname]['path']); } } // Call directly ProductCore, ShopCore class elseif (isset($this->index[$classname]['path']) && $this->index[$classname]['path']) require_once($this->root_dir.$this->index[$classname]['path']); } /** * Generate classes index */ public function generateIndex() { $classes = array_merge( $this->getClassesFromDir('classes/'), $this->getClassesFromDir('controllers/') ); if ($this->_include_override_path) $classes = array_merge( $classes, $this->getClassesFromDir('override/classes/', defined('_PS_HOST_MODE_')), $this->getClassesFromDir('override/controllers/', defined('_PS_HOST_MODE_')) ); ksort($classes); $content = '<?php return '.var_export($classes, true).'; ?>'; // Write classes index on disc to cache it $filename = $this->normalizeDirectory(_PS_ROOT_DIR_).PrestaShopAutoload::INDEX_FILE; $filename_tmp = tempnam(dirname($filename), basename($filename.'.')); if ($filename_tmp !== false && file_put_contents($filename_tmp, $content) !== false) { if (!@rename($filename_tmp, $filename)) unlink($filename_tmp); else @chmod($filename, 0666); } // $filename_tmp couldn't be written. $filename should be there anyway (even if outdated), no need to die. else error_log('Cannot write temporary file '.$filename_tmp); $this->index = $classes; } /** * Retrieve recursively all classes in a directory and its subdirectories * * @param string $path Relativ path from root to the directory * @return array */ protected function getClassesFromDir($path, $host_mode = false) { $classes = array(); $root_dir = $host_mode ? $this->normalizeDirectory(_PS_ROOT_DIR_) : $this->root_dir; foreach (scandir($root_dir.$path) as $file) { if ($file[0] != '.') { if (is_dir($root_dir.$path.$file)) $classes = array_merge($classes, $this->getClassesFromDir($path.$file.'/', $host_mode)); else if (substr($file, -4) == '.php') { $content = file_get_contents($root_dir.$path.$file); $pattern = '#\W((abstract\s+)?class|interface)\s+(?P<classname>'.basename($file, '.php').'(?:Core)?)' .'(?:\s+extends\s+[a-z][a-z0-9_]*)?(?:\s+implements\s+[a-z][a-z0-9_]*(?:\s*,\s*[a-z][a-z0-9_]*)*)?\s*\{#i'; if (preg_match($pattern, $content, $m)) { $classes[$m['classname']] = array( 'path' => $path.$file, 'type' => trim($m[1]), 'override' => $host_mode ); if (substr($m['classname'], -4) == 'Core') $classes[substr($m['classname'], 0, -4)] = array( 'path' => '', 'type' => $classes[$m['classname']]['type'], 'override' => $host_mode ); } } } } return $classes; } public function getClassPath($classname) { return (isset($this->index[$classname]) && isset($this->index[$classname]['path'])) ? $this->index[$classname]['path'] : null; } private function normalizeDirectory($directory) { $last = $directory[strlen($directory) - 1]; if (in_array($last, array('/', '\\'))) { $directory[strlen($directory) - 1] = DIRECTORY_SEPARATOR; return $directory; } $directory .= DIRECTORY_SEPARATOR; return $directory; } } Perfecto el index ya va Pero el panel admin al intentar editar algo todavía se queda en blanco pf aqui te dejo una foto asi me pasa en todos lados del panel Link to comment Share on other sites More sharing options...
[email protected] Posted March 5, 2015 Share Posted March 5, 2015 Hola yo tambien tengo un problema de conexion, he instalado todos los archivos locales de mi web en el servidor y me sale este error Warning: tempnam(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/usr/home/pcelectronics.es/:/home/pcelectronics.es/:/usr/home/services/:/usr/share/php/) in/usr/home/pcelectronics.es/web/classes/PrestaShopAutoload.php on line 151 de problemas de conexion con las carpetas de temporales, en el servicio de servidor me dicen que es un problema de los path, pero donde se configurar, tengo configurados los dominios y el directorio raiz como "/". un saludo y gracias. Link to comment Share on other sites More sharing options...
tuk66 Posted March 6, 2015 Share Posted March 6, 2015 Es una restricción servidor. Pregunte a su administrador del servidor. It is a server restriction. Ask your server administrator. Link to comment Share on other sites More sharing options...
Recommended Posts